从文本中删除所有空格

新手上路,请多包涵
$("#topNav" + $("#breadCrumb2nd").text().replace(" ", "")).addClass("current");

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

我想删除空格。我试过 TRIM()REPLACE() 但这只是部分有效。 REPLACE() 仅删除第一个空格。

原文由 Cecil Theodore 发布,翻译遵循 CC BY-SA 4.0 许可协议

阅读 640
2 个回答

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

 .replace(/ /g,'')

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

如果要匹配所有空格,而不仅仅是文字空格字符,请改用 \s

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

如果您使用的是足够新的 JavaScript 版本,您也可以使用 .replaceAll ,但是对于您的特定用例没有任何理由,因为捕获 所有 空格需要正则表达式,并且当使用带有 .replaceAll 的正则表达式时,它必须是全球性的,所以你最终会额外输入:

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

原文由 Flimzy 发布,翻译遵循 CC BY-SA 4.0 许可协议

.replace(/\s+/, "")

仅替换第一个空格,这包括空格、制表符和换行符。

要替换字符串中的所有空格,您需要使用全局模式

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

原文由 Pantelis 发布,翻译遵循 CC BY-SA 4.0 许可协议

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
logo
Stack Overflow 翻译
子站问答
访问
宣传栏