在JavaScript中使用逗号分隔字符串逗号

时间:2016-06-16 18:52:23

标签: javascript string split delimiter comma

我有string

var myStr = 'This is a test';

我想通过JavaScript以逗号分隔,如下:

var myNewStr = 'This, is, a, test';

通过JavaScript完成此操作的最佳方式是什么?

我知道我可以像这样修剪逗号:

var myStr = myNewStr.split(',');

这会给我这个:

myStr = 'This is a test';

但我当然希望通过添加逗号来做相反的事情......

7 个答案:

答案 0 :(得分:3)

你可以用正则表达式替换它 - 它更短,不需要拆分。

var myNewStr = myStr.replace(/ /g,', ');

如果你还可以面对带有前导/尾随空格的字符串,只需事先修剪它。

var myNewStr = myStr.trim().replace(/ /g,', ');

答案 1 :(得分:2)

试试这个 - var myNewStr = myStr.split(' ').join(', ')

答案 2 :(得分:1)

您可以使用具有正向前瞻的正则表达式,然后用逗号替换。

console.log('This is a test'.replace(/(?= .)/g, ','));
console.log('This is a test '.replace(/(?= .)/g, ','));

答案 3 :(得分:0)

使用String.replace

var myStr = 'This is a test';
var myNewStr=myStr.replace(/ /g,', ');

答案 4 :(得分:0)

您可以使用replace函数用逗号替换空格:

var myStr = myNewStr.replace('',',');

你也可以使用:

var myStr = myNewStr.split('');

答案 5 :(得分:0)

这是一种不使用标准方法的方法。

var myStr = "THIS IS A TEST";
before.innerHTML = myStr;
var parts = [];
var buffer = '';
for(var i = 0; i < myStr.length; i++) {
    if(myStr[i] == ' ') {
        parts.push(buffer);
        buffer = '';
        continue;
    } else {
        buffer += myStr[i];
    }
}

parts.push(buffer)
var myNewStr = parts.join(', ');

after.innerHTML = myNewStr;
<div><b>Before</b></div>
<div id="before"></div>
<div><b>After</b></div>
<div id="after"></div>

答案 6 :(得分:0)

使用String.trimString.replace函数的解决方案:

var myStr = ' This is a test ',
    myNewStr = myStr.trim().replace(/([^\s]+\b)(?!$)/g, "$&,");
    // $& - Inserts the matched substring.      

console.log(myNewStr);  // "This, is, a, test"