示例文本文件:
\文件夹_0 \文件夹-0 \文件夹-1 \文件夹'2 \文件夹-3 \文件夹_3 \文件夹'3 \文件夹,3 \文件夹,4
您如何找到与一个字符相同的行。例如:
\文件夹_0 \文件夹-0 \文件夹-3 \文件夹_3 \文件夹'3 \文件夹,3
示例文本文件:
\文件夹_0 \文件夹-0 \文件夹-1 \文件夹'2 \文件夹-3 \文件夹_3 \文件夹'3 \文件夹,3 \文件夹,4
您如何找到与一个字符相同的行。例如:
\文件夹_0 \文件夹-0 \文件夹-3 \文件夹_3 \文件夹'3 \文件夹,3
不要使用正则表达式。
首先定义一个函数,给定两个字符串(文件中的行)返回 true,它们仅相差一个字符。
然后使用关联数组来收集基于该函数仅由单个字符不同的行组。
处理文件后,关联数组中包含多行的任何条目都是您想要的结果。
一种可能的方式如何...(在 Perl 中)...
@m = (m/[\s\S]*?(?:^|\n)(?=(.*?)(.)(.*?)(?:\n|$)(?:[\s\S]*?\n|)(\1.\3)(?:\n|$))/g);
@p = ();
while ($#m > 0) {
($a, $b, $c, $d) = (shift(@m), shift(@m), shift(@m), shift(@m));
push(@p, ("$a$b$c", $d));
}
@p = keys %{{map{$_ => 1} @p}};
在此处测试此代码。