var strValue="614369|1112610|37097-79573|BBK118100008|6450|SE|1000";
我想把最后一个下划线后面的全去掉。
  让它结果为
strValue="614369|1112610|37097-79573|BBK118100008|6450|SE";strValue这个值是动态的,不是固定的。有可能长度20,25..或者其他
不知道这个replace怎么写。
最好有正则表达式。谢了。

解决方案 »

  1.   

    [...[...strValue].reverse().join('').replace(/^|/,"")].reverse().join('')
    结果:
    "614369|1112610|37097-79573|BBK118100008|6450|SE"
      

  2.   

    strValue.slice(0,strValue.lastIndexOf("|")),这是是暂时想到最简单的办法;
    其他办法有很多,可以用split,切割去掉最后一个,再join
      

  3.   

    strValue.substring(0, strValue.lastIndexOf("|"));
      

  4.   

    replace的正则/\|(?!.*\|.*).*/g,
    strValue.replace(/\|(?!.*\|.*).*/g,"")
      

  5.   

    strValue.replace(/\|(?!.*\|).*/g,""),多了一个.*,去掉也不影响
      

  6.   


    strValue=strValue.replace(/\|[^|]*$/,'');
      

  7.   

    正则的贪婪模式
    strValue = strValue.replace(/(.*)(\|.*)/,"$1")