使字符串以逗号分隔 JavaScript
Make string comma delimited in JavaScript
我有一个string
:
var myStr = 'This is a test';
我想通过 JavaScript
将其设为逗号分隔,如下所示:
var myNewStr = 'This, is, a, test';
通过 JavaScript
完成此操作的最佳方法是什么?
我知道我可以 trim 像这样的逗号:
var myStr = myNewStr.split(',');
那会给我这个:
myStr = 'This is a test';
但我当然想做相反的事情,添加逗号...
试试这个 - var myNewStr = myStr.split(' ').join(', ')
您可以直接替换为正则表达式 - 它更短且无需拆分。
var myNewStr = myStr.replace(/ /g,', ');
如果您还可以面对带有前导/尾随空格的字符串,只需预先 trim 即可。
var myNewStr = myStr.trim().replace(/ /g,', ');
您可以使用具有正前瞻性的正则表达式,然后用逗号替换。
console.log('This is a test'.replace(/(?= .)/g, ','));
console.log('This is a test '.replace(/(?= .)/g, ','));
使用String.replace
:
var myStr = 'This is a test';
var myNewStr=myStr.replace(/ /g,', ');
您可以使用替换功能将空格替换为逗号:
var myStr = myNewStr.replace(' ', ',');
您还可以使用:
var myStr = myNewStr.split(' ');
这是一种不使用标准方法的方法。
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>
使用String.trim
和String.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"
我有一个string
:
var myStr = 'This is a test';
我想通过 JavaScript
将其设为逗号分隔,如下所示:
var myNewStr = 'This, is, a, test';
通过 JavaScript
完成此操作的最佳方法是什么?
我知道我可以 trim 像这样的逗号:
var myStr = myNewStr.split(',');
那会给我这个:
myStr = 'This is a test';
但我当然想做相反的事情,添加逗号...
试试这个 - var myNewStr = myStr.split(' ').join(', ')
您可以直接替换为正则表达式 - 它更短且无需拆分。
var myNewStr = myStr.replace(/ /g,', ');
如果您还可以面对带有前导/尾随空格的字符串,只需预先 trim 即可。
var myNewStr = myStr.trim().replace(/ /g,', ');
您可以使用具有正前瞻性的正则表达式,然后用逗号替换。
console.log('This is a test'.replace(/(?= .)/g, ','));
console.log('This is a test '.replace(/(?= .)/g, ','));
使用String.replace
:
var myStr = 'This is a test';
var myNewStr=myStr.replace(/ /g,', ');
您可以使用替换功能将空格替换为逗号:
var myStr = myNewStr.replace(' ', ',');
您还可以使用:
var myStr = myNewStr.split(' ');
这是一种不使用标准方法的方法。
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>
使用String.trim
和String.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"