我正在尝试使用javascript split函数解析分隔的字符串。我正在使用双字符分隔符。 因此对于例如如果字符串包含员工相关数据,则包含以下字段:
Emp Id(必填)
姓名(必填)
年龄(可选)
手机号码(可选)
,使用的分隔符为|*
(即管道后跟星号)
我可能有这样的数据
5322|*Mike|*21|*077665543
5323|*Jen|*|*077665543
5324|*Raj|*25|*
5325|*Alan|*|*
如何将空值提取到split?返回的数组中?
如果我使用Record.split(/\|\*/)
它似乎忽略了空值。我是否需要使用其他函数,如regex exec + substring来执行此操作?除了这个问题,拆分功能似乎很方便。
答案 0 :(得分:2)
您正在做的是正确的,并且存在空值。
>>> "5325|*Alan|*|*".split(/\|\*/)
["5325", "Alan", "", ""]
答案 1 :(得分:0)
不要将null与空字符串混淆。正则表达式正确地拆分分隔的字符串,当字段为“空”时捕获空字符串。如果您需要这些数组元素为null,那么您必须自己对返回的数组进行后处理。