【发布时间】:2017-12-05 22:07:49
【问题描述】:
有一个字符串:
stringName= "'john's example'"
需要做一个string.replace 来删除字符串中间的单引号,而不是第一个和最后一个否则会破坏我的javascript
已尝试stringName.replace("/.'./","") 仅替换字符串中间的单引号但不起作用
非常感谢您的帮助! :)
【问题讨论】:
标签: javascript .net regex string
有一个字符串:
stringName= "'john's example'"
需要做一个string.replace 来删除字符串中间的单引号,而不是第一个和最后一个否则会破坏我的javascript
已尝试stringName.replace("/.'./","") 仅替换字符串中间的单引号但不起作用
非常感谢您的帮助! :)
【问题讨论】:
标签: javascript .net regex string
使用(^'|'$)|'作为匹配正则表达式:
stringName = "'john's e'xam'ple'";
console.log(
stringName.replace(/(^'|'$)|'/g, '$1')
);
【讨论】:
第一件事是你没有进行正则表达式替换,你正在替换一个看起来像/.'./ 的字符串(因为第一个参数中的")。其次,你正在做的正则表达式只会寻找一个字符(.),然后是一个单引号,然后是另一个字符。你可能想要做的是stringName.replace(/(.+)'(.+)/, "$1$2")
【讨论】:
在剥离第一个和最后一个字符后使用split、join
var f1 = (str) => str.charAt(0) + str.split("'").join("") + str.slice(-1);
f1( "'john's exa''mp'le'" ); //'johns example'
【讨论】:
"'john's exa''mp'le'" 怎么样?