Perl 的 tr/// 运算符第一部分中未指定的字符会怎样?
我使用 Perl 进行字符串操作,这涉及使用反向函数和 tr 来翻译我的字符串。 该脚本读取一些字符串,然后执行以下操作:
$revread = reverse($newword);
$revread =~ tr/TACGN/ATGCN/;
因此该单词被颠倒过来,然后被翻译——反向补码。 我有以下问题:
如果
$revread=~ tr/TACG/ATGC/;
使用的话会怎样。在这种情况下,如果找到“N”,它会被跳过吗?就像在 tr 中一样,我没有任何东西可以将其翻译为 OR 它将被打印为“N”。
I am using Perl for string manipulation and that involves use of the reverse function and of tr to translate my string.
The script reads some strings and then performs following:
$revread = reverse($newword);
$revread =~ tr/TACGN/ATGCN/;
So the word is reversed and then gets translated--reverse complement.
I have following question:
What if
$revread=~ tr/TACG/ATGC/;
is used. In this case if "N" is found will it be skipped? as in tr I have nothing there to translate it to OR it will be printed as just as "N".
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
是的,
tr
中未指定的任何内容都将被保留。tr///
的文档有点难以获取,因为它的详细示例列在perldoc perlop
而不是通常的perldoc perlfunc
Yes, anything that is not specified inside to
tr
will be left alone.The documentation for
tr///
is a little hard to get to as it's detailed examples are listed inperldoc perlop
rather than the usualperldoc perlfunc
Aleks G 给出了正确答案:试试吧。
我试过了。我发现:
音译中找不到的任何字符都保留原样。文档此处。
Aleks G has the correct answer: Just try it.
I tried it. I found that:
Any characters not found in the transliteration are left as they are. Documentation here.