将字符串的末尾替换为“,”

Replace the end of a string with ","

本文关键字:替换 字符串      更新时间:2023-09-26

>我有以下字符串值

var strVal = "This is the best way.";

我正在尝试将字符串末尾的"."替换为","。目前我有以下实现

strVal.replace(/.'s*$/, ", ")

如果字符串末尾没有"."怎么办,当我尝试这样做时,它会用","替换最后一个字符。

解决此问题的最佳方法是什么,其中字符串值可能以或不以"."结尾?

当字符串值不以 "." 结尾时

var strVal = "This is the best way";
它应该

只是在字符串的末尾附加",",它应该看起来像

"这是最好的方法,"

这是您的表达式修改为按请求运行:

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

正如评论中所述,.是正则表达式中的一个特殊字符,您需要使用 ' 对其进行转义,以便将其解释为点。它后面的?将使该字符可选。

此外,如果您正在寻找仅执行且完全执行请求行为的表达式,则可以跳过原始表达式中的右侧修剪,仅使用以下表达式进行替换:

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