$("#topNav" + $("#breadCrumb2nd").text().replace(" ", "")).addClass("current");
这是我的代码的一部分。我想在获取另一个ID的text属性后向ID添加一个类。问题在于,持有我需要的文本的ID包含字母之间的空格。
我希望删除空白。我已经尝试过TRIM(),REPLACE()但这只能部分起作用。该REPLACE()只删除第一个空间。
$("#topNav" + $("#breadCrumb2nd").text().replace(" ", "")).addClass("current");
这是我的代码的一部分。我想在获取另一个ID的text属性后向ID添加一个类。问题在于,持有我需要的文本的ID包含字母之间的空格。
我希望删除空白。我已经尝试过TRIM(),REPLACE()但这只能部分起作用。该REPLACE()只删除第一个空间。
Answers:
您必须告诉replace()重复正则表达式:
.replace(/ /g,'')
该摹字是指通过重复整个字符串搜索。在此处阅读有关此内容以及JavaScript中可用的其他RegEx修饰符的信息。
如果要匹配所有空格,而不仅仅是文字空间字符,请\s改用:
.replace(/\s/g,'')
x = " Many spaces before and after " y = x.replace(/(^\s+|\s+$)/g, "") 该^\s方法的空白字符串的开始,之后\s$手段在空白的结束字符串,|用于/或组中的,g修饰符在上面的注释中进行了解释。要捕获一个或多个空白实例,您还需要+在每一个之后加上量词\s。
.replace(/\s+/, "")
仅替换第一个空格,其中包括空格,制表符和换行符。
要替换字符串中的所有空格,您需要使用全局模式
.replace(/\s/g, "")
+不会添加任何东西,因为我们已经在使用g(global)修饰符
String.prototype.replace如其他答案中所述,与regex一起使用肯定是最好的解决方案。
但是,只是为了好玩,您还可以使用String.prototype.split和删除文本中的所有空格String.prototype.join:
const text = ' a b c d e f g ';
const newText = text.split(/\s/).join('');
console.log(newText); // prints abcdefg
.replace(/\s+/g, '')它,对我来说完全可以。