$("#topNav" + $("#breadCrumb2nd").text().replace(" ", "")).addClass("current");

这是我的代码片段。我想在获得另一个ID的文本属性后向ID添加一个类。这样做的问题是,ID持有我需要的文本,包含字母之间的空白。

我想把空白去掉。我已经尝试了TRIM()和REPLACE(),但这只是部分工作。REPLACE()只删除第一个空格。


当前回答

你必须告诉replace()来重复正则表达式:

.replace(/ /g,'')

g字符使它成为一个“全局”匹配,这意味着它在整个字符串中重复搜索。阅读这个,以及JavaScript中可用的其他RegEx修饰符。

如果你想匹配所有的空格,而不仅仅是字面空格字符,使用\s代替:

.replace(/\s/g,'')

如果你使用的是最新版本的JavaScript,你也可以使用.replaceAll,但对于你的特定用例,没有任何理由这样做,因为捕获所有空白需要一个正则表达式,而当使用带有.replaceAll的正则表达式时,它必须是全局的,所以你最终只需要额外的输入:

.replaceAll(/\s/g,'')

其他回答

正则表达式用于删除空白

\s+

var str = “Visit Microsoft!”; var res = str.replace(/\s+/g, “”); console.log(res);

or

[ ]+

var str = “Visit Microsoft!”; var res = str.replace(/[ ]+/g, “”); console.log(res);

删除字符串开头的所有空白

^[ ]+

var str = “Visit Microsoft!”; var res = str.replace(/^[ ]+/g, “”); console.log(res);

删除字符串末尾的所有空白

[ ]+$

var str=“Visit Microsoft! "; var res = str.replace(/[ ]+$/g, “”); console.log(res);

    var mystring="fg gg";
   console.log(mystring.replaceAll(' ',''))

使用.replace(/\s+/g, ")可以;

例子:

this.slug = removeAccent(this.slug).replace(/\s+/g,'');

你必须告诉replace()来重复正则表达式:

.replace(/ /g,'')

g字符使它成为一个“全局”匹配,这意味着它在整个字符串中重复搜索。阅读这个,以及JavaScript中可用的其他RegEx修饰符。

如果你想匹配所有的空格,而不仅仅是字面空格字符,使用\s代替:

.replace(/\s/g,'')

如果你使用的是最新版本的JavaScript,你也可以使用.replaceAll,但对于你的特定用例,没有任何理由这样做,因为捕获所有空白需要一个正则表达式,而当使用带有.replaceAll的正则表达式时,它必须是全局的,所以你最终只需要额外的输入:

.replaceAll(/\s/g,'')

** 100%工作

使用replace(/ +/g,'_'): let text = "我爱你" 文本=文本。取代(/ + / g , '_') // 替换为下划线(“_”) console.log(text) //我爱你

简单的解决方法是:替换空格询问键值

val = val.replace(' ', '')