首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >REGEX替换为例外

REGEX替换为例外
EN

Stack Overflow用户
提问于 2020-06-25 14:27:02
回答 1查看 293关注 0票数 1

我这里的第一个问题是我的复仇女神。

我需要一个正则表达式来将每个,替换为文本中的",",而不需要替换现有的,"

看起来是这样的:

在此之前:

代码语言:javascript
复制
abcd,efgh,ijkl,"","",mnop

之后:

代码语言:javascript
复制
abcd","efgh","ijkl","","","mnop

我希望你能帮助我。

EN

回答 1

Stack Overflow用户

发布于 2020-06-25 16:42:55

使用正则表达式解决问题是很好的但现在你有两个问题

一个不涉及正则表达式使用的简单解决方案是执行三个简单的字符串替换:首先用","替换",",然后用","替换","",最后用","替换"","

让我们来看看为什么这样做:

代码语言:javascript
复制
          |  after 1st  |  after 2nd  |  after 3rd
 original | replacement | replacement | replacement
----------+-------------+-------------+-------------
   a,b    |   a","b     |   a","b     |   a","b 
   m",n   |   m"","n    |   m"","n    |   m","n
   x,"y   |   x",""y    |   x","y     |   x","y

看到它的行动:

代码语言:javascript
复制
const input = 'abcd,efgh,ijkl,"","",mnop';

const output = input.replace(/,/g, '","').replace(/",""/g, '","').replace(/"","/g, '","');

console.log(output);

注:上面的代码片段使用正则表达式,因为这是JavaScript实现“替换所有”功能的方式。当String.replace()的第一个参数是字符串时,它只替换它的第一次出现。

我可以使用String.replaceAll()代替(它与字符串一起工作),但它仍然是不被浏览器广泛支持

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62577692

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档