Javascript 替换字符串中出现的某些字符
我想替换字符串中出现的某些字符,但不确定如何使用正则表达式实现它Javascript 替换字符串中出现的某些字符,javascript,regex,string,typescript,Javascript,Regex,String,Typescript,我想替换字符串中出现的某些字符,但不确定如何使用正则表达式实现它 originalString = '=(IF(OR(L4=NULL,L4=""),0,L4)' 我想用字母M替换它,如下所示: finalString = '=(IF(OR(M4=NULL,M4=""),0,M4)' 如下图所示使用拆分或替换时,即使是“NULL”中的L也会被替换 finalString = originalString.split('L').join('M') 如果M位于一个单词的开头并后跟至少一个数字,
originalString = '=(IF(OR(L4=NULL,L4=""),0,L4)'
我想用字母M替换它,如下所示:
finalString = '=(IF(OR(M4=NULL,M4=""),0,M4)'
如下图所示使用拆分或替换时,即使是“NULL”中的L也会被替换
finalString = originalString.split('L').join('M')
如果
M
位于一个单词的开头并后跟至少一个数字,则您可能希望将M
替换为L
。如果是这样,您可以使用\b
(“单词边界”)断言和\d
(一个数字)围绕M
来说明要替换的特定M
s。您可以将\d
包装在前瞻断言((?=…)
)中,这样它实际上就不是匹配的一部分。要在整个字符串中执行此操作,需要使用“全局”标志(g
)。所以把这一切放在一起:/\bM(?=\d)/
const originalString='=(如果(或(L4=NULL,L4=“”),0,L4)”;
常量更新=原始字符串替换(/\bM(?=\d)/g,“L”);
console.log(更新);
另一个解决方案是替换所有L(忽略大小写)字符,避免使用任何L字符来创建单词“Null”
originalString='=(如果(或(L4=NULL,L4=”“),0,L4)'
最终字符串=原始字符串。替换(/(?=l)(?)?
警告:可能并非所有浏览器都支持反向查找?基本上,每次后跟数字时都需要替换L,对吗?。替换(/L(?=\d)/gi,'M')
似乎符合要求。
originalString = '=(IF(OR(L4=NULL,L4=""),0,L4)'
finalString = originalString.replace(/(?=l)(?<!Nul)(?<!Nu)\w/gi,'M')