Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/417.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 使用正则表达式替换字符串中间的单引号_Javascript_.net_Regex_String - Fatal编程技术网

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

Javascript 使用正则表达式替换字符串中间的单引号,javascript,.net,regex,string,Javascript,.net,Regex,String,有一个字符串: stringName= "'john's example'" 需要做一个字符串。替换< /代码>删除字符串中间的单个引号,而不是第一个和最后一个,否则将破坏我的JavaScript 尝试过 String Netry.Read(“//”、“/”、“”、“代码”>只替换字符串中间的单引号,但不工作 非常感谢您的帮助!:) 在剥离第一个和最后一个字符后,使用拆分,连接 var f1 = (str) => str.charAt(0) + str.split("'").join(

有一个字符串:

stringName= "'john's example'"

需要做一个<代码>字符串。替换< /代码>删除字符串中间的单个引号,而不是第一个和最后一个,否则将破坏我的JavaScript

尝试过<代码> String Netry.Read(“//”、“/”、“”、“代码”>只替换字符串中间的单引号,但不工作


非常感谢您的帮助!:)

在剥离第一个和最后一个字符后,使用
拆分
连接

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

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

剥离第一个和最后一个字符后,使用
split
join

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

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

第一件事是你没有做正则表达式替换,你正在替换一个看起来像
/./
的字符串(因为第一个参数中有
)。第二件事,你正在做的正则表达式只会寻找一个字符(
)然后是一个单引号,然后是另一个字符。您可能要做的是类似于
stringName.replace(/(.+)”(.+)/,“$1$2”)
的事情首先是您没有执行正则表达式替换,而是替换一个看起来像
/./
的字符串(因为第一个参数中有
)。其次,您正在执行的正则表达式只需要查找单个字符(
),然后是单个引号,然后是另一个字符。您可能需要执行类似于
stringName.replace(/(.+)'(.+)/,“$1$2”)

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

stringName=“'john's e'xam'ple'”;
console.log(
stringName.replace(/(^'|'$)|'/g,$1'))
);使用
(^'|'$)|'
作为匹配的正则表达式:

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

);
约翰的考试怎么样?@revo没有想到,现在就修好了。谢谢你指出。约翰的考试怎么样?@revo没有想到,现在就修好了。谢谢你指出这一点。我会说用revo的答案来代替这个我会说用revo的答案代替这个谢谢你的答案!:)快速提问,我是在.net中使用的,字符串仅用一个引号固定,您已将引号增加了一倍。。有什么办法绕过这件事吗?用spaceHi来代替那一句话,我没听懂。请详细说明这个问题。您好,很抱歉我在.net中这么做,所以我的字符串是:dim example as string=“'john's example'”dim regex as string=example.Replace((^'|'$)|',“”)Response.Write(regex)这行不行吗?该字符串是固定在一个单一的报价在中间,不能更改,非常感谢您的帮助,谢谢您的答案!快速提问,我是在.net中使用的,字符串仅用一个引号固定,您已将引号增加了一倍。。有什么办法绕过这件事吗?用spaceHi来代替那一句话,我没听懂。请详细说明这个问题。您好,很抱歉我在.net中这么做,所以我的字符串是:dim example as string=“'john's example'”dim regex as string=example.Replace((^'|'$)|',“”)Response.Write(regex)这行不行吗?该字符串是固定在一个单一的报价在中间,不能更改,非常感谢您的帮助。