JS:如何仅从字符串内部删除空格
JS: How to remove white spaces only from inside of string
我只需要在 javascript 语言中删除字符串内部的空格。左右两侧可以有那个空格。我没有找到解决方案...
也许是一些原生功能?或者 sombedy 有一些正则表达式?
我只有:
str = str.replace(/\s+/g, '');
但它也删除了边上的空白。
我要:
var str = " s dasd asd sad sa d ";
str = str.replace(/\s+/g, '');
// output
" sdasdasdsadsad ";
您可以匹配并捕获 leading/trailing 个空格并使用反向引用恢复结果,并删除所有其他空格。
var str = " some text ";
str = str.replace(/(^\s+|\s+$)|\s+/g, '');
console.log("'",str,"'");
图案详情:
(^\s+|\s+$)
- 第 1 组捕获一个或多个空格 1) 在字符串的开头 (^\s+
) 或 2) 在字符串的结尾 (\s+$
)
|
- 或
\s+
- 字符串中其他任何地方的 1+ 个空格。
</code> 是对插入到结果字符串中的捕获组内容的反向引用。</p>
<p>为了也支持 <code>
,使用交替,(?:\s| )
:
console.log(" s dasd asd sad sa d ".replace(/(^(?:\s| )+|(?:\s| )+$)|(?:\s| )+/g, ''));
我只需要在 javascript 语言中删除字符串内部的空格。左右两侧可以有那个空格。我没有找到解决方案...
也许是一些原生功能?或者 sombedy 有一些正则表达式?
我只有:
str = str.replace(/\s+/g, '');
但它也删除了边上的空白。
我要:
var str = " s dasd asd sad sa d ";
str = str.replace(/\s+/g, '');
// output
" sdasdasdsadsad ";
您可以匹配并捕获 leading/trailing 个空格并使用反向引用恢复结果,并删除所有其他空格。
var str = " some text ";
str = str.replace(/(^\s+|\s+$)|\s+/g, '');
console.log("'",str,"'");
图案详情:
(^\s+|\s+$)
- 第 1 组捕获一个或多个空格 1) 在字符串的开头 (^\s+
) 或 2) 在字符串的结尾 (\s+$
)|
- 或\s+
- 字符串中其他任何地方的 1+ 个空格。
</code> 是对插入到结果字符串中的捕获组内容的反向引用。</p>
<p>为了也支持 <code>
,使用交替,(?:\s| )
:
console.log(" s dasd asd sad sa d ".replace(/(^(?:\s| )+|(?:\s| )+$)|(?:\s| )+/g, ''));