javascript - RegExp / JavaScript:在多个字符上拆分字符串,保留分隔符而不使用lookbehind
问题描述
假设我有一个字符串:"This is a string-thing"
. 我想拆分空格和连字符,但将分隔符与前一个单词保持在一起 =>["This ", "is ", "a ", "string-", "thing"]
我目前正在使用以下 regExp 执行此操作:
string.split(/(?<=[\s-])/g)
这做了应该做的事情..至少在 Chrome 中。据我了解,Safari 不支持 regExp 中的lookbehind,这会破坏代码。有没有什么方法可以做到这一点而无需向后看?
解决方案
您可以匹配单词而无需向后看。
const
string = "This is a string-thing",
parts = string.match(/.+?([\s-]|$)/g);
console.log(parts);
推荐阅读
- windows - 如何使用 MAKECAB.EXE
- video-tracking - 提高人脸跟踪质量
- angular - 来自角度应用程序的牛津词典 API 调用?
- c++ - C++ 参数堆与堆栈,原始类型数组
- asp.net - 如何将发件人作为用户控件发送
- javascript - 如何在数据表 dom 中使用 Bfrtip 和 Zlfrtip?
- azure - Windows 从站处于挂起状态 - 使用 Azure VM 代理插件
- java - 如何使用硒中的标题在浏览器中选择一个元素?
- php - 解决只有变量应该通过引用传递错误没有额外变量
- visual-studio - Visual Studio 2010:Newtonsoft.Json 错误