我想让Perl split
工作2个多小时。我没有看到错误。也许其他一些眼睛可以看看它并看到问题。我相信它是一个愚蠢的:为什么split没有返回任何东西?
@versionsplit=split('.',"15.0.3");
print $versionsplit[0];
print $versionsplit[1];
print $versionsplit[2];
我只是得到一个空数组。任何想法为什么?
我想让Perl split
工作2个多小时。我没有看到错误。也许其他一些眼睛可以看看它并看到问题。我相信它是一个愚蠢的:为什么split没有返回任何东西?
@versionsplit=split('.',"15.0.3");
print $versionsplit[0];
print $versionsplit[1];
print $versionsplit[2];
我只是得到一个空数组。任何想法为什么?
您需要:
@versionsplit=split(/\./,"15.0.3");
的第一个参数是split
正则表达式,而不是一个字符串。并.
是正则表达符号,意思是“匹配任何字符”。因此,输入字符串中的所有字符都被视为分隔符,并且split
在它们之间没有找到任何要返回的内容。
“.
”表示任何字符。您需要将其转义为分割函数才能识别为字段分隔符。 您的生产线变更为
@versionsplit=split('\.',"15.0.3");
我发现,把第一个参数'split'在比赛运营商(''//)强化了这一事实,它的解释为正则表达式。 –