假设我有一个像以下
的字符串 mother-in-law
,我需要输出有5个令牌,如mother
,-
,in
,-
,law
。
我尝试基于连字符进行拆分,但我只能获得三个令牌mother
,in
law
。
答案 0 :(得分:4)
如果拆分正则表达式包含捕获组,则split
将返回每个捕获组的内容。所以要保留-
分隔符,只需写
split /(-)/, "mother-in-law"
而不是
split /-/, "mother-in-law"
答案 1 :(得分:3)
使用/(-)/
作为拆分模式:
print join(' ', split(/(-)/, 'mother-in-law'));
打印
mother - in - law
如果PATTERN包含捕获组,则对于每个分隔符,a 为组捕获的每个子字符串生成附加字段