perl – 为什么在`|`(管道)上分割不能按预期工作?

前端之家收集整理的这篇文章主要介绍了perl – 为什么在`|`(管道)上分割不能按预期工作?前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个我想要分割的字符串.但是分隔符在运行时确定,因此我需要将其作为变量传递.

像我的@fields = split(/ $delimiter /,$string);不行有什么想法吗?

输入:

abcd|efgh|23

预期产量:

abcd
efgh
23

解决方法

您需要逃离您的分隔符,因为它是正则表达式中的一个特殊字符.

选项1:

$delimiter = quoteMeta($delimiter);
my @fields = split /$delimiter/,$string;

选项二:

my @fields = split /\Q$delimiter/,$string;

猜你在找的Perl相关文章