看板 Perl 關於我們 聯絡資訊
※ 引述《sosoni (ㄚsoso)》之銘言: : 假如有兩條序列 : ATGCGATCGTACCTAG : ATGGGATCGTACCTAC : 那要如何把不同處找出@@ : 剛剛碰perl的新菜鳥@@" : 知道的大大~~~可否幫解題一下呢!! : 感恩阿~~~ 設 $a = 'ATGCGATCGTACCTAG'; $b = 'ATGGGATCGTACCTAC'; 若只要不同處之位置: my $mask = $a ^ $b; while ($mask =~ /[^\0]/g) { print pos($mask)-1, "\n"; } 若要不同處之字元: (以下程式片段適用於非Unicode,如需用於Unicode請自行修改。) (my $mask = $a ^ $b) =~ tr/\0/\xFF/; # mask common characters my $common = $a & $b & $mask; # a & b & (a ^ b) is contradiction (always 0) print "a-b=", $a ^ $common, ", b-a=", $b ^ $common, " a&b=", $common; -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 143.89.144.107 ※ 編輯: Andor 來自: 143.89.144.107 (10/05 09:52)
cutecpu:推$common 10/06 02:44