如何从字符串的开头和结尾删除特定字符?

9

如何从字符串的开头和结尾删除任意数量的特定字符(双引号")?

我查看了string.trim(),它可以去掉任何空格字符,但不可能提供一个可选参数来搜索"


可能需要调整这个 shim 以实现你想要的字符串修剪效果。https://dev59.com/KHRB5IYBdhLWcg3w1Khe - Paul
@Paul,那是在没有本地string.trim()函数的日子里。现在已经存在了,但它只适用于空格。 - Danny Beckett
调整 this.replace(/^\s+|\s+$/g, '') 意味着将 \s+ 更改为 "+ ... 这实际上与您的答案匹配。 现在我们有了一些确认。 - Paul
1个回答

29
你可以使用正则表达式轻松解决这个问题:
myString = myString.replace(/^"+|"+$/g, '');

您可以使用任何字符来替换"(注意,有些字符需要转义)。

这里是一个在JSFiddle上的演示


正则表达式的解释:

/ - 开始正则表达式 (/)

^"+ - 匹配行的开头 (^) 并跟随一个引号 (") 一次或多次 (+)

| - 或者

"+$ - 匹配一个引号 (") 一次或多次 (+) 并跟随行的结尾 ($)

/ - 结束正则表达式 (/)

g - “全局”匹配,即替换所有


6
好的回答,但我对你使用“容易”一词感到冒犯 :) - Alain

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接