如何获取javascript split函数以从分隔的字符串中提取空值

时间:2010-02-22 12:22:11

标签: javascript string null split delimited-text

我正在尝试使用javascript split函数解析分隔的字符串。我正在使用双字符分隔符。 因此对于例如如果字符串包含员工相关数据,则包含以下字段:

  1. Emp Id(必填)

  2. 姓名(必填)

  3. 年龄(可选)

  4. 手机号码(可选)

  5. ,使用的分隔符为|*(即管道后跟星号)

    我可能有这样的数据

    5322|*Mike|*21|*077665543
    
    5323|*Jen|*|*077665543
    
    5324|*Raj|*25|*
    
    5325|*Alan|*|*
    

    如何将空值提取到split?返回的数组中?

    如果我使用Record.split(/\|\*/)它似乎忽略了空值。我是否需要使用其他函数,如regex exec + substring来执行此操作?除了这个问题,拆分功能似乎很方便。

2 个答案:

答案 0 :(得分:2)

您正在做的是正确的,并且存在空值。

>>> "5325|*Alan|*|*".split(/\|\*/)
["5325", "Alan", "", ""]

答案 1 :(得分:0)

不要将null与空字符串混淆。正则表达式正确地拆分分隔的字符串,当字段为“空”时捕获空字符串。如果您需要这些数组元素为null,那么您必须自己对返回的数组进行后处理。