Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/361.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_Regex - Fatal编程技术网

Javascript 将字符串的结尾替换为“&引用;

Javascript 将字符串的结尾替换为“&引用;,javascript,regex,Javascript,Regex,我有以下字符串值 var strVal = "This is the best way."; 我正在尝试将字符串末尾的“.”替换为“,”。目前我有以下实现 strVal.replace(/.\s*$/, ", ") 如果字符串结尾没有“.”怎么办?当我尝试此操作时,它会将最后一个字符替换为“,” 解决这个问题的最佳方法是什么,字符串值可以以“.”结尾,也可以不以“.”结尾 当字符串值不以“”结尾时 它应该在字符串的末尾加上“,”这样 “这是最好的方式,”这是您的表达式,经过修改后可按要求运行

我有以下字符串值

var strVal = "This is the best way.";
我正在尝试将字符串末尾的“.”替换为“,”。目前我有以下实现

strVal.replace(/.\s*$/, ", ")
如果字符串结尾没有“.”怎么办?当我尝试此操作时,它会将最后一个字符替换为“,”

解决这个问题的最佳方法是什么,字符串值可以以“.”结尾,也可以不以“.”结尾

当字符串值不以“”结尾时

它应该在字符串的末尾加上“,”这样


“这是最好的方式,”

这是您的表达式,经过修改后可按要求运行:

strVal.replace(/\.?\s*$/, ", ");

正如注释中所述,
是正则表达式中的一个特殊字符,您需要使用
\
对其进行转义,因此它被解释为一个点。后面的
将使该字符成为可选字符

此外,如果要查找仅执行请求行为的表达式,可以跳过原始表达式中的右修剪,只使用以下表达式进行替换:

strVal.replace(/\.?$/, ", ");

这是您的表达式,已修改为按要求运行:

strVal.replace(/\.?\s*$/, ", ");

正如注释中所述,
是正则表达式中的一个特殊字符,您需要使用
\
对其进行转义,因此它被解释为一个点。后面的
将使该字符成为可选字符

此外,如果要查找仅执行请求行为的表达式,可以跳过原始表达式中的右修剪,只使用以下表达式进行替换:

strVal.replace(/\.?$/, ", ");

是正则表达式中的一个特殊字符,必须对其进行转义。解决此问题的最佳方法是什么,字符串值可以以“.”结尾,也可以不以“.”结尾?你这是什么意思。当字符串不以句号结尾时,应该发生什么?请给出更多输入和预期输出的示例。
是正则表达式中的一个特殊字符,必须对其进行转义。解决此问题的最佳方法是什么,字符串值可以以“.”结尾,也可以不以“.”结尾?你这是什么意思。当字符串不以句号结尾时,应该发生什么?请给出更多输入和预期输出的示例。将空格与
\s*
进行匹配有什么意义?这似乎超出了OP所具有字符串的要求。他将其放在那里,我不需要删除它来使其工作,这可能有助于他满足其帖子中未提及的其他要求。这只是一个正确的修剪,有意义。@MattBurland是对的。如果只有一个字符串的情况是这样的,它看起来是
\s*
在这里是无用的。@noob,我在他自己的工作中给了他解决方案,我添加了没有rtrim的表达式,所以每个人都很高兴。没关系。但给出解决方案时应考虑其他可能性,因为它们可能会在遇到绊脚石之前帮助其他人。将空格与
\s*
匹配的意义何在,这似乎超出了OP对字符串的要求。他将其放在那里,我不需要移除它来让它工作,这可能有助于他满足其职位中未提及的其他要求。这只是一个正确的修剪,有意义。@MattBurland是对的。如果只有一个字符串的情况是这样的,它看起来是
\s*
在这里是无用的。@noob,我在他自己的工作中给了他解决方案,我添加了没有rtrim的表达式,所以每个人都很高兴。没关系。但给出解决方案时,应考虑到其他可能性,因为它们甚至可能在遇到绊脚石之前帮助他人。