在 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/