迹忆客 专注技术分享

当前位置:主页 > 学无止境 > WEB前端 > JavaScript >

JavaScript 中拆分一个字符串并保留空白

作者:迹忆客 最近更新:2022/12/18 浏览次数:

要拆分保留空格的字符串,请调用 split() 方法并向其传递以下正则表达式 - /(\s+)/。 正则表达式在拆分字符串时使用捕获组来保留空格。

const str = 'apple banana kiwi';

const results = str.split(/(\s+)/);

// 👇️ ['apple', ' ', 'banana', ' ', 'kiwi']
console.log(results);

JavaScript 中拆分一个字符串并保留空白

如果希望避免使用正则表达式,请向下滚动到下一部分。

我们传递给 String.split 方法的唯一参数是一个正则表达式。

正斜杠 // 标记正则表达式的开始和结束。\s 特殊字符匹配空格(空格、制表符、换行符)。加号 + 匹配前面的项目(空格)一次或多次,换句话说,它将多个连续的空格折叠为 1。括号 () 称为捕获组,允许我们匹配字符并将其包含在结果中。

下面是可视化捕获组如何工作的简单方法。

console.log('abc'.split(/b/)); // 👉️ ['a', 'c']
console.log('abc'.split(/(b)/)); // 👉️ ['a', 'b', 'c']

第二个示例使用捕获组 () 来匹配 b 字符,但仍将其包含在结果中。

如果希望避免使用正则表达式,可以链式调用 split()join() 方法。

此方法仅适用于空格,不适用于制表符或换行符。

const str = 'apple banana kiwi';

const result = str.split(' ').join('# #').split('#');
console.log(result); // 👉️ ['apple', ' ', 'banana', ' ', 'kiwi']

我们首先在每个空格上拆分字符串,以获得包含字符串中单词的数组。

const str = 'apple banana kiwi';

// 👇️ ['apple', 'banana', 'kiwi']
console.log(str.split(' '));

下一步是使用 join() 方法将数组转换为字符串。

const str = 'apple banana kiwi';

// 👇️ "apple# #banana# #kiwi"
console.log(str.split(' ').join('# #'));

我们使用了哈希 #,但是我们可以使用任何字符,只要中间有一个空格即可。

最后一步是在每个散列上拆分字符串。

const str = 'apple banana kiwi';

const result = str.split(' ').join('# #').split('#');
console.log(result); // 👉️ ['apple', ' ', 'banana', ' ', 'kiwi']

选择哪种方法是个人喜好的问题。 在这种情况下,我会使用正则表达式,因为我发现它更直接、更直观。

转载请发邮件至 1244347461@qq.com 进行申请,经作者同意之后,转载请以链接形式注明出处

本文地址:

相关文章

扫一扫阅读全部技术教程

社交账号
  • https://www.github.com/onmpw
  • qq:1244347461

最新推荐

教程更新

热门标签

扫码一下
查看教程更方便