我想在%\d+
或\n
上分割一個字符串。我能夠在這兩個中的任何一個成功的分裂,而不是兩個:爲什麼string.split()結果包含undefined?
> msg = 'foo %1 bar \n baz %2'
> msg.split(/(%\d+)/)
["foo ", "%1", " bar
baz ", "%2", ""]
> msg.split(/(\n)/)
["foo %1 bar ", "
", " baz %2"]
> msg.split(/(\n)|(%\d)/)
["foo ", undefined, "%1", " bar ", "
", undefined, " baz ", undefined, "%2", ""]
在過去的情況下,爲什麼所得數組中undefined
,什麼我應該做的?
更新:我忽略說明我需要分隔符。我想要的結果是:
["foo ", "%1", " bar ", "\n", " baz ", "%2"]
捕獲沒有捕獲任何值的組會產生'undefined' – Bergi