JavaScript 从字符串中删除所有空格
在JavaScript中,替换字符串是一项常见的难题。使用 string.replace() 技术来改变每个出现的字符串仍然具有挑战性。当涉及到换行和制表符时,消除所有空格可能是费力的。幸运的是,JavaScript的 string.replace() 函数支持正则表达式。本课程演示了从字符串值中消除所有空格的方法。
在JavaScript中,调用 replace()方法 并传入一个正则表达式,该表达式匹配任何空格字符,并将空字符串作为替换,以去除字符串中的任何空格。举个示例,函数 str.replace(/s/g, “”) 通过删除str中的所有空格,返回一个新的字符串。
const str = '5 6 7';
constwhitespaceRemoved = str.replace(/\s/g, '');
console.log(whitespaceRemoved); // 567
空格、制表符 以及 换行符 是 s正则表达式 元字符匹配的空白字符之一。
我们可以利用 g正则标志 声明字符串中的每个空白字符都应该被匹配。如果没有这个标志,那么只有最初始的空白字符会被匹配和替换:
const str = '4 5 6';
// No 'g' flag in regex
constwhitespaceRemoved = str.replace(/\s/, '');
// Only first whitespace removed
console.log(whitespaceRemoved); // 45 6
replace() 方法的第二个参数会将返回的新字符串中所有匹配项都替换掉。第二个参数是一个空字符串(“),这会导致所有的空格都被替换为空,并因此被消除。
注意:由于JavaScript中的字符串是不可变的,replace() 函数会返回一个新的字符串,而不会改变原始字符串。
const str = '4 5 6';
constwhitespaceRemoved = str.replace(/\s/g, '');
console.log(whitespaceRemoved); // 456
// Not modified
console.log(str); // 4 5 6
结合Join()和Split()方法
另一种策略是使用空格作为分隔符将字符串分隔,并使用空字符串将两个分割的部分连接在一起。通过从字符串中删除所有连续的空格字符,下面的示例展示了如何实现这一点。
可以使用 split() 方法将字符串分成多个较小的字符串,并将结果作为数组返回。通过指定的分隔符在字符串中出现时进行分割,分隔符可以作为参数进行指定。当字符串中出现一个空格时,此空格字符 (” “) 将被提供给该参数以分隔字符串。可以使用 join() 方法使用分隔符将一组字符串连接在一起。使用所选择的分隔符连接的合并字符串将作为新字符串返回。当该方法应用于返回的数组时,不使用 (“”) 来合并字符串。它将通过将数组中的字符串连接在一起来创建一个新字符串。它将填充原始区域中的每个空白区域。
const str = ' Hello Javatpoint ';
console.log(str.split(' ').join(''));
/*
Output: HelloJavatpoint
*/
使用 s 代替,以将字符串中的所有空白字符去除。
const str = ' Hello Javatpoint ';
console.log(str.split(/\s+/).join(''));
/*
Output: HelloJavatpoint
*/
trim()
JavaScript还可以使用trim方法来去除任何空格,包括空格、制表符、不间断空格和所有行结束符()。虽然该方法可以去除提供的字符串中的所有空格,但如果你只想要去除字符串开头或结尾的空格,可以使用 trimStart()和trimEnd() 方法来指示开始和结束的地方去除空格。
const example =' Welcome To Javatpoint Website ';
console.log(example.trim());
使用 trimStart() 和 trimEnd() 方法,我们可以分别消除文本开头或结尾的空格。
const example =' Welcome To Javatpoint Website ';
console.log(example.trimStart());
console.log(example.trimEnd());
结论
当你的代码包含数百行时,删除空格可能会是一个挑战。为此,JavaScript提供了各种技术来消除这些空格。在本文中,我们介绍了一些从字符串中删除空格的技术。其中一些技术可以移除所有空格,而另一些技术可以让我们精确地指定应该删除空格的位置。为了更好地理解,我们为每种方法提供了示例和源代码。