javascript - JavaScript 中的非破坏性 split() ?

标签 javascript

您可以从字符串创建一个数组,并使用 split 删除某个字符:

const str = "hello world"
const one = str.split(" ")
console.log(one) // ["hello", "world"]

但是如何在不删除字符的情况下将字符串拆分为数组呢?

const str = "Hello."
["Hello", "."] // I need this output

最佳答案

虽然您可以在拆分时使用捕获组以将结果保留在最终输出中:

const str = "Hello.";
console.log(
  str.split(/(\.)/)
);

这会产生一个额外的空数组项。您可能应该使用 .match 来代替:匹配 . 或匹配非 . 字符:

const match = str => str.match(/\.|[^.]+/g);

console.log(match('Hello.'));
console.log(match('Hello.World'));
console.log(match('Hello.World.'));

关于javascript - JavaScript 中的非破坏性 split() ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58048790/

相关文章:

javascript - reactjs - 在不重新渲染组件的情况下为单个 DOM 元素设置动画

javascript - 如何将对象数据从父组件传递给子组件?

javascript - 如何为 HTML5 视频播放器创建偏移量插件

javascript - 试图利用分享社交按钮的值(value)来进行操纵

javascript - jquery 变量值出血

javascript - IndexedDB:修改对象存储中预先存在的对象

javascript - 绑定(bind)为空时的 Angular 默认值

php - 使用 PHP 和 Javascript 显示 'Accept digital certificate' 提示

php - 在注册表中标记用户输入的错误字段的推荐方法?

javascript - 从 jQuery 中的元素中选择元素