从文本中删除所有空格

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

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

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

1174077 次浏览
.replace(/\s+/, "")

将取代仅限第一个空白,这包括空格、制表符和新行。

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

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

你必须告诉替换()重复正则表达式:

.replace(/ /g,'')

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

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

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

如果您使用的是最新版本的JavaScript,您也可以使用.replaceAll,但对于您的特定用例来说,没有任何理由,因为捕获所有空格需要正则表达式,并且当将正则表达式与.replaceAll一起使用时,它必须是全局的,因此您只需额外输入:

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

如其他答案中提到的,将String.prototype.replace与regex一起使用当然是最好的解决方案。

但是,只是为了好玩,您也可以使用String.prototype.splitString.prototype.join从文本中删除所有空格:

const text = ' a b    c d e   f g   ';
const newText = text.split(/\s/).join('');


console.log(newText); // prints abcdefg

删除空白的正则表达式

\s+

var str = "Visit Microsoft!";
var res = str.replace(/\s+/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 str = "Visit Microsoft!      ";
var res = str.replace(/[ ]+$/g, "");
console.log(res);

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

使用replace(/\s+/g,'')

例如:

const stripped = '    My String With A    Lot Whitespace  '.replace(/\s+/g, '')// 'MyStringWithALotWhitespace'

使用。替换(/\s+/g,")工作正常;

示例:

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

现在你可以使用“替换所有”:

console.log(' a b    c d e   f g   '.replaceAll(' ',''));

将打印:

abcdefg

但不适用于所有可能的浏览器:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String/replaceAll

function RemoveAllSpaces(ToRemove)
{
let str = new String(ToRemove);
while(str.includes(" "))
{
str = str.replace(" ", "");
}
return str;
}

**100%工作

使用replace(/ +/g,'_')

let text = "I     love you"
text = text.replace( / +/g, '_') // replace with underscore ('_')


console.log(text) // I_love_you

let str = 'a big fat hen clock mouse '
console.log(str.split(' ').join(''))
// abigfathenclockmouse

简单的解决方案可能是:只需替换空白请求键值

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

使用string.replace(/\s/g,'')

这将解决问题。

编码愉快!!!

我不明白为什么我们需要在这里使用正则表达式,而我们可以简单地使用replaceAll

let result = string.replaceAll(' ', '')

result将存储string没有空格

好吧,我们也可以使用[^A-Za-z]g标志来删除文本中的所有空格。其中negated or complemente^。显示给括号内的每个字符或字符范围。关于g表示我们全局搜索。

let str = "D  S@ D2m4a   r k  23";


// We are only allowed the character in that range A-Za-z


str = str.replace(/[^A-Za-z]/g,"");  // output:- DSDmark


console.log(str)
从文本中删除所有空格-Stack Overflow