我想用逗号分割一个包含多个姓名的字符串,格式为 Surname, First Name(s),Surname, First Name(s)
,并且两边都没有空格作为分隔符:
var input = 'White, Sterling M.,Devinney, Michael,Bernal, Tracy';
input.split(/[^ ]{1},[^ ]{1}/g); //Outputs: ["White, Sterling M", "evinney, Michae", "ernal, Tracy"]
如何保留/包含逗号两侧的字符?它不一定需要是一个分割
,这只是我所得到的最接近的结果。
注意:如果您想知道,我是从另一个系统按原样获取此列表,因此我无法选择将给定的字符串更改为更容易更改的字符串解析。
如有任何帮助,我们将不胜感激!
最佳答案
您需要使用 .split()
执行此操作,而 JavaScript 不支持这些断言。但您可以匹配而不是拆分:
result = input.match(/(?: ,|, |[^,])+/g);
说明:
(?: # Start of group that matches either...
[ ], # a space followed by a comma
| # or
,[ ] # a comma, followed by a space
| # or
[^,] # any character except a comma
)+ # one or more times.
关于javascript - 如何保留分割定界符 RegExp 两侧的内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22010708/