String perl/match对齐中的字符串对齐
我有两个字符串$dna1和$dna2。打印连接的两个字符串,然后打印连接字符串末尾的副本上排列的第二个字符串。例如,如果输入 字符串为AAAA和TTTT,打印:String perl/match对齐中的字符串对齐,string,perl,alignment,String,Perl,Alignment,我有两个字符串$dna1和$dna2。打印连接的两个字符串,然后打印连接字符串末尾的副本上排列的第二个字符串。例如,如果输入 字符串为AAAA和TTTT,打印: AAAATTTT TTTT 这是一个自我锻炼的问题。。不是家庭作业 我试着使用索引 #!/usr/bin/perl-w $a ='AAAAAAAAAATTTTTTTTT'; $b ='TTTTTTTTTT'; print $a,"\n"; print ''x index($a,$b),$b,"\n"; 但是它没有按需要工
AAAATTTT
TTTT
这是一个自我锻炼的问题。。不是家庭作业
我试着使用索引
#!/usr/bin/perl-w
$a ='AAAAAAAAAATTTTTTTTT';
$b ='TTTTTTTTTT';
print $a,"\n";
print ''x index($a,$b),$b,"\n";
但是它没有按需要工作。请帮助检查
索引($a,$b)
返回的内容,然后开始检查。。。也许你应该选择一个$b
,它实际上在$a
中
然后意识到连接10个空字符串实例是一个空字符串,而不是10个空格。首先检查
索引($a,$b)
返回的内容。。。也许你应该选择一个$b
,它实际上在$a
中
然后意识到连接10个空字符串实例是一个空字符串,而不是10个空格。这是一个有趣的小练习。我这样做:
perl -lwe'$a="AAAA"; $b="TTTT"; $c = $a.$b; $i = index($c,$b) + length($b);
print $c; printf "%${i}s\n", $b;'
AAAAAAATTTT
TTTT
请注意,一般来说,使用变量名
$a
到$c
是一个坏主意,在这里只能接受,因为它是一个单行程序$a
和$b
也是与排序一起使用的保留变量名。这是一个有趣的小练习。我这样做:
perl -lwe'$a="AAAA"; $b="TTTT"; $c = $a.$b; $i = index($c,$b) + length($b);
print $c; printf "%${i}s\n", $b;'
AAAAAAATTTT
TTTT
请注意,一般来说,使用变量名$a
到$c
是一个坏主意,在这里只能接受,因为它是一个单行程序$a
和$b
也是保留变量名,在文本中与排序一起使用,您说输入是AAAA和TTTT。在代码中,有aaaaaaaaaaaattttttttt和tttttttt。是哪一个?它是否已连接?在$a
字符串中有9个T,在$b
字符串中有10个T。你永远不会在$a
中找到10个Ts。在你的文本中,你说输入是AAAA和TTTT。在代码中,有aaaaaaaaaaaattttttttt和tttttttt。是哪一个?它是否已连接?在$a
字符串中有9个T,在$b
字符串中有10个T。你永远不会在$a
$i=length($c)中找到10个T代码>会更简单。打印''x长度($a)
空格会更简单。$i=length($c)代码>会更简单。打印''x长度($a)
空格会更简单。