我这里的第一个问题是我的复仇女神。
我需要一个正则表达式来将每个,替换为文本中的",",而不需要替换现有的,"。
看起来是这样的:
在此之前:
abcd,efgh,ijkl,"","",mnop之后:
abcd","efgh","ijkl","","","mnop我希望你能帮助我。
发布于 2020-06-25 16:42:55
使用正则表达式解决问题是很好的但现在你有两个问题。
一个不涉及正则表达式使用的简单解决方案是执行三个简单的字符串替换:首先用","替换",",然后用","替换","",最后用","替换"","。
让我们来看看为什么这样做:
| 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看到它的行动:
const input = 'abcd,efgh,ijkl,"","",mnop';
const output = input.replace(/,/g, '","').replace(/",""/g, '","').replace(/"","/g, '","');
console.log(output);
注:上面的代码片段使用正则表达式,因为这是JavaScript实现“替换所有”功能的方式。当String.replace()的第一个参数是字符串时,它只替换它的第一次出现。
我可以使用String.replaceAll()代替(它与字符串一起工作),但它仍然是不被浏览器广泛支持。
https://stackoverflow.com/questions/62577692
复制相似问题