我需要拆分关键字字符串并将其转换为逗号分隔的字符串。但是,我需要去掉多余的空格和用户已经输入的任何逗号。
var keywordString = "ford tempo, with,,, sunroof";
输出到这个字符串:
ford,tempo,with,sunroof,
我需要尾随逗号,并且在最终输出中没有空格。
不确定我是应该使用 Regex 还是字符串拆分函数。
有人做过这样的事情吗?
我需要使用 javascript(或 JQ)。
编辑(工作解决方案):
var keywordString = ", ,, ford, tempo, with,,, sunroof,, ,";
//remove all commas; remove preceeding and trailing spaces; replace spaces with comma
str1 = keywordString.replace(/,/g , '').replace(/^\s\s*/, '').replace(/\s\s*$/, '').replace(/[\s,]+/g, ',');
//add a comma at the end
str1 = str1 + ',';
console.log(str1);
最佳答案
在这两种情况下您都需要一个正则表达式。您可以拆分并连接字符串:
str = str.split(/[\s,]+/).join();
这会拆分并消耗任何连续的空格和逗号。同样,您可以匹配并替换这些字符:
str = str.replace(/[\s,]+/g, ',');
对于尾随逗号,只需附加一个
str = .... + ',';
如果您有前后空格,您应该先删除它们。
引用: .split
, .replace
, Regular Expressions
关于Javascript 拆分空格分隔的字符串并 trim 额外的逗号和空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11211175/