Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
我有以下字符串。实际上,大小可以变化。
my $string = "ACCAGGGGGGCCTCCGCAG*AAGCGGTCGCCATAGTCAAAC";
我想要做的是在 * 标记的左右提取 10 个字符,结果是:
my $output = "GCCTCCGCAG*AAGCGGTCGC";
在 Perl 中有一种紧凑的方法吗?
你去:
my $string = "ACCAGGGGGGCCTCCGCAG*AAGCGGTCGCCATAGTCAAAC"; my $output = substr($string, index($string, '*') - 10, 21);
这是使用正则表达式的一种快速简便的方法。两个{10}s 代表每边要匹配的字符数。
{10}
my ($output) = $string =~ m{(.{10}\*.{10})};