使用正则表达式替换字符串中间的单引号

时间:2017-12-05 22:07:49

标签: javascript .net regex string

有一个字符串:

stringName= "'john's example'"

需要执行string.replace删除字符串中间的单引号,而不是第一个和最后一个否则会破坏我的javascript

尝试stringName.replace("/.'./","")只替换字符串中间的单引号但不起作用

非常感谢帮助! :)

3 个答案:

答案 0 :(得分:3)

使用(^'|'$)|'作为匹配的正则表达式:

stringName = "'john's e'xam'ple'";
console.log(
  stringName.replace(/(^'|'$)|'/g, '$1')
);

答案 1 :(得分:1)

首先,你没有进行正则表达式替换,你正在替换一个看起来像/.'./的字符串(因为第一个参数中的")。其次,你正在做的正则表达式只是寻找单个字符(.)然后是单个引号,然后是另一个字符。您可能想要做的是stringName.replace(/(.+)'(.+)/, "$1$2")

答案 2 :(得分:0)

剥离第一个和最后一个字符后使用splitjoin

var f1 = (str) => str.charAt(0) + str.split("'").join("") + str.slice(-1);

f1( "'john's exa''mp'le'" ); //'johns example'