【发布时间】:2012-08-11 11:56:39
【问题描述】:
昨天,我陷入了 perl 脚本。让我简化一下,假设有一个字符串(比如 ABCDEABCDEABCDEPABCDEABCDEPABCDEABCD),首先我必须在“E”出现的每个位置断开它,其次,在用户想要的位置专门断开它。但是,条件是,程序不应该在 E 后面跟着 P 的位置进行切割。例如,这个序列中有 6 个 E,所以应该得到 7 个片段,但是由于 2 个 E 后面跟着 P,所以只能得到 5 个片段输出中的片段。
我需要关于第二种情况的帮助。假设用户不想在序列中 E 的第 5 位和第 10 位剪切这个序列,那么对应的脚本应该是什么让程序只跳过这两个位置?我的第一种情况的脚本是:
my $otext = 'ABCDEABCDEABCDEPABCDEABCDEPABCDEABCD';
$otext=~ s/([E])/$1=/g; #Main cut rule.
$otext=~ s/=P/P/g;
@output = split( /\=/, $otext);
print "@output";
请帮忙!
【问题讨论】:
-
您应该使用代码降价来使代码更具可读性,类似于我编辑的方式 - 您可以单击文本编辑器窗口旁边的问号以获取标记帮助。
标签: perl skip string-substitution