从Javascript中的字符串中删除尾随字符

Posted

技术标签:

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

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

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

> "item,"

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

谢谢!

【问题讨论】:

【参考方案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来测试一下

以上是关于从Javascript中的字符串中删除尾随字符的主要内容,如果未能解决你的问题,请参考以下文章

如何阻止GCC从obj文件中的字符串文字中删除尾随换行符?

从字符串值中删除空格(前导和尾随)

从十进制字符串中删除尾随零

从整个 DataFrame 的字符串中删除尾随 .0

SQL Server:如何从字符串中删除前导/尾随非字母数字字符?

删除json字符串c#中的尾随空格