尝试使用perl查找字符串中第一个数字的索引

时间:2014-11-02 07:25:20

标签: perl

我试图找到0-9中第一次出现的数字的索引。

让我们说:

 $myString = "ABDFSASF9fjdkasljfdkl1"

我想找到9的位置。

我试过这个:

print index($myString,[0-9]);

print index($myString,\d);

3 个答案:

答案 0 :(得分:9)

使用正则表达式Positional Information

use strict;
use warnings;

my $myString = "ABDFSASF9fjdkasljfdkl1";

if ($myString =~ /\d/) {
    print $-[0];
}

输出:

8

答案 1 :(得分:0)

您甚至可以尝试以下perl代码:

use strict;
use warnings;

my $String = "ABDFSASF9fjdkasljfdkl11";

if($String =~ /(\d)/)
 {
     print "Prematch string of first number $1 is $`\n";
     print "Index of first number $1 is " . length($`);
    } 

答案 2 :(得分:0)

你可以试试这个:

perl -e '$string="ABDFSASF9fjdkasljfdkl1";@array=split(//,$string);for $i (0..$#array) {if($array[$i]=~/\d/){print $i;last;}}'