javascript - 如果字符存在于定界符的任一侧,则按定界符拆分字符串

标签 javascript regex string split

在 JavaScript 中,只有当分隔符的两边都有一个字符(非数字)时,我如何才能按分隔符拆分字符串?这可以通过 RegEx 完成吗?

var str = 'this-is-hyphenated - this isn't';

结果应该是一个数组:this |是 |连字符 - 这不是

最佳答案

how can I split a string by delimiter only if the delimiter has a character (non-numeric) on either side of it?

鉴于“非数字”标准,您不能使用 \b(单词结尾)标志,因为它会匹配单词中的数字(例如 foo2 被视为一个单词,而不是一个单词后跟“2”)。

您可以分两步完成,使用替换为极不可能出现的字符串(例如 &&&&)和捕获组:

s.replace(/([a-z])-([a-z])/ig,'$1&&&&$2').split('&&&&')

但这可能不是您想要的。

关于javascript - 如果字符存在于定界符的任一侧,则按定界符拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22548240/

相关文章:

javascript - 任何使 javascript 设置间隔或 setTimeout 在 Node.js 服务器重新启动后继续计数的解决方法

html - MySQL 更新查询以从所有 "description"字段中删除特定的 Html 标记

swift - 如何将币种代码重命名为币种全称? swift

python - 从具有匹配词的主列表生成列表,无论顺序如何

比较两个字符串并删除相同的字母

javascript - 如何从从0,0开始到100,1000结束的指数函数中获取Y值

javascript - 我应该先学什么? (用于网络编程)

javascript - ES6 中函数不返回变量

javascript - 我的脚本有什么问题?

java - 使用模式/匹配器提取子字符串