我需要在 javascript 语言中仅删除字符串内部的空格。左侧和右侧可以有该空间。我没有找到解决方案...
也许是一些 native 函数?或者 sombedy 有一些正则表达式吗?
我只有:
str = str.replace(/\s+/g, '');
但它也会删除两侧的空白。
我想要:
var str = " s dasd asd sad sa d ";
str = str.replace(/\s+/g, '');
// output
" sdasdasdsadsad ";
最佳答案
您可以匹配并捕获前导/尾随空格,并使用反向引用恢复结果,并删除所有其他空格。
var str = " some text ";
str = str.replace(/(^\s+|\s+$)|\s+/g, '$1');
console.log("'",str,"'");
图案详细信息:
(^\s+|\s+$)
- 第 1 组捕获一个或多个空格 1) 在字符串开头 (^\s+
) 或 2)字符串末尾 (\s+$
)|
- 或\s+
- 字符串中其他位置有 1 个以上空格。
$1
是对插入到结果字符串中的捕获组内容的反向引用。
要也支持
,请使用交替 (?:\s| )
:
console.log(" s dasd asd sad sa d ".replace(/(^(?:\s| )+|(?:\s| )+$)|(?:\s| )+/g, '$1'));
关于javascript - JS : How to remove white spaces only from inside of string,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41487560/