从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中的字符串中删除尾随字符的主要内容,如果未能解决你的问题,请参考以下文章