如何使用 javascript split 函数从分隔字符串中提取空值
我正在尝试使用 javascript split 函数解析分隔字符串。我正在使用双字符分隔符。 例如,如果字符串包含具有以下字段的员工相关数据:
Emp Id(强制)
Name(强制)
年龄(可选)
手机号码(可选)
,使用的分隔符为 |*
(即竖线后跟星号)
我可能有这样的数据
5322|*Mike|*21|*077665543
5323|*Jen|*|*077665543
5324|*Raj|*25|*
5325|*Alan|*|*
如何将空值提取到 split 返回的数组中?
如果我使用 Record.split(/\|*/) 似乎会忽略空值。我是否需要使用其他函数(例如 regex exec + substring)来执行此操作?除了这个问题之外,split功能似乎还蛮方便的。
I'm trying to parse a delimited string using the javascript split function. I'm using a double character delimiter.
So for e.g. if the string contains employee related data with the following fields:
Emp Id (mandatory)
Name (mandatory)
Age (optional)
Mobile No (optional)
and the delimiter used is |*
(i.e. pipe followed by star)
I may have data like this
5322|*Mike|*21|*077665543
5323|*Jen|*|*077665543
5324|*Raj|*25|*
5325|*Alan|*|*
How do I extract null values into the array returned by split?
If I use Record.split(/\|\*/)
It seems to ignore the null values. Do I need to use other functions like regex exec + substring to do this? The split function seems to be quite convenient except for this issue.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您所做的事情是正确的,并且存在空值。
What you're doing is correct, and the null values are present.
不要将 null 与空字符串混淆。您的正则表达式正确分割分隔字符串,当字段应为“空”时捕获空字符串。如果您需要这些数组元素为空,那么您必须自己对返回的数组进行后处理。
Do not confuse null with an empty string. Your regular expression splits the delimited string properly, capturing empty strings when the fields are "empty" as they should. If you need these array elements to be null, then you'd have to post-process the returned array yourself.