加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

perl学习(10) 字符串处理函数和排序

发布时间:2020-12-16 00:08:35 所属栏目:大数据 来源:网络整理
导读:1.1.index Perl 查找子串第一次在大字符串中出现的地方,返回第一个字符的位置。 字符位置是从 0 开始编号的。如果子串在字符串的开头处找到,则 index 返回 0 。 如果子串不存在,则返回 - 1 . ? my $stuff = “Howordy world!”; my $where1 = index($stuf

1.1.index

Perl 查找子串第一次在大字符串中出现的地方,返回第一个字符的位置。

字符位置是从0 开始编号的。如果子串在字符串的开头处找到,则index 返回0

如果子串不存在,则返回-1.?

my $stuff = “Howordy world!”;

my $where1 = index($stuff,“wor”); #$where1 得到2

my $where2 = index($stuff,“w”,$where+3); #$where 得到6

my $where3 = index($stuff,$where+); #$where -1(没有找到)?

rindex 函数返回子串最后出现的位置

my $fred = “Yabba dabba doo!”;

my $where1 = rindex($fred,“abba”); #$where1 得到7

my $where2 = rindex($fred,“abba”,$where - 1); #$where2 得到1

my $where3 =rindex($fred,$where2-1); #$whrere3 得到-1?

1.2.substr

substr 截取处理部分的字符串。

它有三个参数:

字符串,一个从0 开始编号的初始位置(类似于index 的返回值),以及子串的长度。

返回值是一个子串

my $mineral = substr(“Fred J. Flintstone”,8,5); #得到“Flint”?

初始位置可以是负的,表示从字符串结尾处开始

my $out = substr (“some very long string”,-3,2); # $out 得到“in”?

substrperl里特殊的地方,可以做左值

my $string = “Hello,world!”;

substr($string,5) = “Goodbye”; # $string 现在变成了“Goodbye,world!”

赋值的(子)串长度不需要和它替换的子串长度相同。字符串会自动调整到合适的长度?

#最后20个字符替换为barney

substr($string,-20) =~ s/fred/barney/g;

?substr index 能完成的大部分工作都可由正则表达式来完成,substr index 通常更快,理由:它们从不是大小写无关的,他们没有元字符(metacharacters)需要担心,也不设置内存变量(memory variables)。?

1.3.sprintf

使用sprintf格式化数据

my $data_tag = sprint? “%4d/%02d/%02d %02d:%02d:%02d”,$yr,$mo,$da,$h,$m,$s;?

这个和c是完全一致的。

1.4.高级排序

内嵌函数sort 可以定义一些比较函数,这个和c中过的sort是一样的。

先在没有具体实例,以后用到的时候添加!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读