【问题标题】:Remove trailing character(s) from string in Javascript从Javascript中的字符串中删除尾随字符
【发布时间】:2011-08-12 01:37:42
【问题描述】:

从字符串中删除特定尾随字符的可接受方法是什么?

例如,如果我有一个字符串:

> "item,"

而且我想删除尾随的 ',' 仅当它们是 ','s 时?

谢谢!

【问题讨论】:

    标签: javascript regex parsing


    【解决方案1】:

    使用简单的正则表达式:

    var s = "item,";
    s = s.replace(/,+$/, "");
    

    【讨论】:

    • 只是想补充一点:如果要替换对正则表达式有意义的字符(例如,'.'),请不要忘记反斜杠。
    【解决方案2】:
    if(myStr.charAt( myStr.length-1 ) == ",") {
        myStr = myStr.slice(0, -1)
    }
    

    【讨论】:

    • 那个if 应该是while
    • 嗯嗯为什么?如果最后一个字符是逗号,则分割最后一个字符......我的意思是最可能的用例是当你从数组中获取一个元素并制作一个 JSON 式的文本或其他东西时。你像'foreach element print element and ","'但是你意识到,“老兄,我有一个额外的','”并且想要删除它。
    • 他说 ","s 的复数形式,但我同意标题令人困惑。
    • 是的,我认为这取决于他想要达到的目标。 @Dutrow 请解释一下
    • 使用一段时间并没有什么坏处,他的具体需求确实不太可能涉及去除尾随逗号。
    【解决方案3】:

    修剪任何尾随字符的函数是:

    function trimTrailingChars(s, charToTrim) {
      var regExp = new RegExp(charToTrim + "+$");
      var result = s.replace(regExp, "");
    
      return result;
    }
    
    function test(input, charToTrim) {
      var output = trimTrailingChars(input, charToTrim);
      console.log('input:\n' + input);
      console.log('output:\n' + output);
      console.log('\n');
    }
    
    test('test////', '/');
    test('///te/st//', '/');

    【讨论】:

    • 在 '///te/st//,'/' 上表现如何?
    • @TomasHesse - 似乎有效!我在上面加了一个sn-p来测试一下
    猜你喜欢
    • 2018-06-05
    • 1970-01-01
    • 1970-01-01
    • 2015-04-03
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多