LKr*_*mer 3 regex sorting perl
我有一个像这样的perl数组字符串:
my @arr = ( "gene1 (100)", "gene2 (50)", "gene3 (120)", ... );
Run Code Online (Sandbox Code Playgroud)
如何用括号中的整数对数组进行排序?
使用变换来比较字符串中的第一个数字
use strict;
use warnings;
my @arr = ( "gene1 (100)", "gene2 (50)", "gene3 (120)");
my @sorted = map {$_->[0]}
sort {$a->[1] <=> $b->[1]}
map {[$_, /\b(\d+)\b/]} @arr;
print "$_\n" for @sorted;
Run Code Online (Sandbox Code Playgroud)
输出:
gene2 (50)
gene1 (100)
gene3 (120)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
783 次 |
| 最近记录: |