【发布时间】:2010-10-19 17:39:11
【问题描述】:
我在 Perl 中有以下代码:
if (index ($retval, $_[2]) != -1) {
@fs = split ($_[2], $_[1]);
$_[2] 是分隔符变量,$_[1] 是可能存在分隔符的字符串。($_[0] 用在别处)您可能已经猜到这段代码在这些变量名的子程序中。
无论如何,关于我的问题,当我的分隔符是像 'a' 或 ':' 这样无害的东西时,代码的工作方式应该如此。然而,当它是由 Perl 正则表达式解析的东西时,比如 '\' 字符,那么它就不会像预期的那样工作。这是有道理的,因为在拆分函数中 Perl 会看到如下内容:
split (/\/, $_[1]);
这对它来说毫无意义,因为它会想要这个:
split (/\//, $_[1]);
所以考虑到所有这些,我无法回答的问题是这样的:“我如何做到这一点,以便我放入 $_[2] 或所有 ASCII 字符的任何分隔符都被视为字符它应该是而不是被解释为别的东西?”
提前致谢,
罗伯特
【问题讨论】:
标签: regex perl ascii split csv