有一个字符串:
stringName= "'john's example'"
需要执行string.replace
删除字符串中间的单引号,而不是第一个和最后一个否则会破坏我的javascript
尝试stringName.replace("/.'./","")
只替换字符串中间的单引号但不起作用
非常感谢帮助! :)
答案 0 :(得分:3)
使用(^'|'$)|'
作为匹配的正则表达式:
stringName = "'john's e'xam'ple'";
console.log(
stringName.replace(/(^'|'$)|'/g, '$1')
);
答案 1 :(得分:1)
首先,你没有进行正则表达式替换,你正在替换一个看起来像/.'./
的字符串(因为第一个参数中的"
)。其次,你正在做的正则表达式只是寻找单个字符(.
)然后是单个引号,然后是另一个字符。您可能想要做的是stringName.replace(/(.+)'(.+)/, "$1$2")
答案 2 :(得分:0)
剥离第一个和最后一个字符后使用split
,join
var f1 = (str) => str.charAt(0) + str.split("'").join("") + str.slice(-1);
f1( "'john's exa''mp'le'" ); //'johns example'