與/ A序列我有一個序列,看起來像這樣:拆分在Perl
my $seq = "D\IKLR\LK/Q";
我想要做的就是打破序列成單個的字母。
所以我希望得到:
my $var = ['D', '\', 'I', 'K', 'L', 'R', '\', 'L', 'K','/' ,'Q'];
但爲什麼這一點兒也不做:
my @chars = split(//,$seq);
print Dumper \@chars;
它給了這個:
my $var = ['D', '\\', 'I', 'K', 'L', 'R', '\\', 'L', 'K', 'Q'];
什麼是正確的方式去做吧?
如果在賦值'$ seq'時使用雙引號,perl會認爲'\ I'和'\ L'是轉義符,並將它們視爲單個字符。既然你沒有發生,我認爲這些數據來自一個文件句柄。還有,你是否從你的數據轉儲中排除了'/'? – TLP
如果你寫'my $ seq =「D \ IKLR \ LK/Q」;'那麼'$ seq'將*不包含反斜槓字符。解釋雙引號字符串中的反斜槓。 「\ I」沒有明確的含義,但它似乎只是簡單的「I」字母。你爲'$ seq'顯示的字符串有一個反斜槓和一個正斜槓,但你的'@ chars'數組有兩個反斜槓。我不認爲你向我們展示了你的實際代碼。 –