JavaScript 全局替换字符串

标签 javascript string replace

我有以下 JavaScript 变量:

var keywords = split_option_value[3];

console.log(keywords); 上返回以下字符串:

seo|drupal|seo marketing|wordpress|web development|web design|plugin

我想使用替换功能删除直线并添加一个逗号。为此,我正在使用:

var good_keywords = keywords.replace(/|/g, ',');

不幸的是,这并没有像在 console.log('good_keywords') 上接收到的那样工作:

,s,e,o,|,d,r,u,p,a,l,|,s,e,o, ,m,a,r,k,e,t,i,n,g,|,w,o,r,d,p,r,e,s,s,|,w,e,b, ,d,e,v,e,l,o,p,m,e,n,t,|,w,e,b, ,d,e,s,i,g,n,|,p,l,u,g,i,n,

产生此问题的代码有什么问题,我做错了什么?我们非常欢迎任何指导和帮助。

最佳答案

你需要对管道字符|进行转义:

var good_keywords = keywords.replace(/\|/g, ',');

正如@Frédéric Hamidi 在他的评论中提出的那样。

p.s.:因为现在您的正则表达式表示查找所有(“空字符”或“空字符”),这正是您在所有字符之间收到逗号的原因。

关于JavaScript 全局替换字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27528146/

相关文章:

python - 如何搜索和替换文本前有空格的文本?

php - 如何替换多维数组中的键并保持顺序

javascript - 正确的 Mongoose 语法来查询 user1 存档的消息?

javascript - 如何用 meteor 创建全窗口 Canvas ?

sql - 用于逆透视的存储过程

c - 解析时忽略文件中的字符

用 R 中的相应替换字符串替换一组模式匹配

javascript - 通过 AJAX Web API 存在参数时无法发布

javascript - 将构造函数添加到 'parent' 对象的属性

string - 文本/模板如何确定 map 的 "default textual representation"?