一个replace问题,在线等。

liu_eleven 2018-09-12 03:29:30
var strValue="614369|1112610|37097-79573|BBK118100008|6450|SE|1000";
我想把最后一个下划线后面的全去掉。
让它结果为
strValue="614369|1112610|37097-79573|BBK118100008|6450|SE";

strValue这个值是动态的,不是固定的。有可能长度20,25..或者其他
不知道这个replace怎么写。
最好有正则表达式。谢了。
...全文
700 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
wangwan_wangwan 2018-09-13
  • 打赏
  • 举报
回复
正则的贪婪模式
strValue = strValue.replace(/(.*)(\|.*)/,"$1")
  • 打赏
  • 举报
回复

strValue=strValue.replace(/\|[^|]*$/,'');
風灬雲 2018-09-12
  • 打赏
  • 举报
回复
strValue.replace(/\|(?!.*\|).*/g,""),多了一个.*,去掉也不影响
風灬雲 2018-09-12
  • 打赏
  • 举报
回复
replace的正则/\|(?!.*\|.*).*/g,
strValue.replace(/\|(?!.*\|.*).*/g,"")
風灬雲 2018-09-12
  • 打赏
  • 举报
回复
strValue.slice(0,strValue.lastIndexOf("|")),这是是暂时想到最简单的办法;
其他办法有很多,可以用split,切割去掉最后一个,再join

田小瘦 2018-09-12
  • 打赏
  • 举报
回复
strValue.substring(0, strValue.lastIndexOf("|"));
風灬雲 2018-09-12
  • 打赏
  • 举报
回复
不对,再研究一下
風灬雲 2018-09-12
  • 打赏
  • 举报
回复
[...[...strValue].reverse().join('').replace(/^|/,"")].reverse().join('')
结果:
"614369|1112610|37097-79573|BBK118100008|6450|SE"

87,993

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 JavaScript
社区管理员
  • JavaScript
  • 无·法
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧