2

假设我有一个如下字符串

mother-in-law,我需要输出有 5 个标记,如mother, -, in, -, law.

我尝试根据连字符进行拆分,但我只能得到三个标记mother, in law

4

2 回答 2

4

如果拆分正则表达式包含捕获组,则每个捕获组的内容将由split. 所以为了保留你的-分隔符,只需写

split /(-)/, "mother-in-law"

代替

split /-/, "mother-in-law"
于 2013-09-23T06:35:41.713 回答
3

用作/(-)/分割模式:

print join(' ', split(/(-)/, 'mother-in-law'));

印刷

mother - in - law

根据split-perldoc

如果 PATTERN 包含捕获组,则对于每个分隔符,为组捕获的每个子字符串生成一个附加字段

于 2013-09-23T06:35:45.357 回答