有没有比这更好的方法来在 JS 的字符串中查找和删除额外的 space?
Is there better way than this to find and remove additional space in string in JS?
我有以下功能,它检测是否有 2 个 space 并删除一个:
filterText(text) {
if (text.indexOf(' ') >= 0) {
return text.replace(' ', ' ')
}
return text
}
有没有更好的方法达到同样的效果?
If pattern is a string, only the first occurrence will be replaced.
您可以使用 String.prototype.replaceAll()
或尝试使用带有全局标志的 RegEx。
以下示例将使用单个 space 删除 2 个或更多 space:
text = `some text, more text`;
text = text.replace(/\ +/g, ' ');
console.log(text);
如果你想精确匹配 2 space 那么:
text = text.replace(/\ {2}/g, ' ');
不需要if
声明。够了replaceAll
function filterText(text) {
return text.replaceAll(' ', ' ')
}
console.log(filterText('a df sf s fsf'))
您可能不需要函数。您可以像这样直接编写代码,假设 text
是有问题的变量:
text.replace( /\s{2}/g, ' ' )
g
代表组,将为您找到字符串中所有匹配的匹配项。
我有以下功能,它检测是否有 2 个 space 并删除一个:
filterText(text) {
if (text.indexOf(' ') >= 0) {
return text.replace(' ', ' ')
}
return text
}
有没有更好的方法达到同样的效果?
If pattern is a string, only the first occurrence will be replaced.
您可以使用 String.prototype.replaceAll()
或尝试使用带有全局标志的 RegEx。
以下示例将使用单个 space 删除 2 个或更多 space:
text = `some text, more text`;
text = text.replace(/\ +/g, ' ');
console.log(text);
如果你想精确匹配 2 space 那么:
text = text.replace(/\ {2}/g, ' ');
不需要if
声明。够了replaceAll
function filterText(text) {
return text.replaceAll(' ', ' ')
}
console.log(filterText('a df sf s fsf'))
您可能不需要函数。您可以像这样直接编写代码,假设 text
是有问题的变量:
text.replace( /\s{2}/g, ' ' )
g
代表组,将为您找到字符串中所有匹配的匹配项。