Chinaunix首页 | 论坛 | 博客
  • 博客访问: 2147671
  • 博文数量: 227
  • 博客积分: 10521
  • 博客等级: 上将
  • 技术积分: 3452
  • 用 户 组: 普通用户
  • 注册时间: 2006-10-20 14:59
个人简介

低调做人,高调做事!

文章分类

全部博文(227)

文章存档

2013年(4)

2012年(8)

2011年(16)

2010年(24)

2009年(92)

2008年(83)

分类: LINUX

2008-11-13 19:11:41

1,index
position = index (string, substring, position)
返回子串substring在字符串string中的位置,如果不存在则返回-1。参数position是可选项,表示匹配之前跳过的字符数,或者说从该位置开始匹配。

例子如下:
[root@localhost ~]# echo -n '/var/fap/test/123' | perl -ne '$rev=index($_, "a"); print $rev,"\n";'
2
[root@localhost ~]# echo -n '/var/fap/test/123' | perl -ne '$rev=index($_, "a", 1); print $rev,"\n";'
2
[root@localhost ~]# echo -n '/var/fap/test/123' | perl -ne '$rev=index($_, "a", 3); print $rev,"\n";'
6
[root@localhost ~]# echo -n '/var/fap/test/123' | perl -ne '$rev=index($_, "a", 7); print $rev,"\n";'
-1


2,rindex
position = rindex (string, substring, position)
与index类似,区别是从右端匹配。

例子如下:

[root@localhost ~]# echo -n '/var/ftp/tesa/123' | perl -ne '$rev=rindex($_, "a", 11); print $rev,"\n";'
2
[root@localhost ~]# echo -n '/var/ftp/tesa/123' | perl -ne '$rev=rindex($_, "a", 12); print $rev,"\n";'
12
[root@localhost ~]# echo -n '/var/ftp/tesa/123' | perl -ne '$rev=rindex($_, "a", 1); print $rev,"\n";'
-1
[root@localhost ~]# echo -n '/var/ftp/tesa/123' | perl -ne '$rev=rindex($_, "a", 2); print $rev,"\n";'
2


3,length
num = length (string)
返回字符串长度,或者说含有字符的数目。

例子如下:

[root@localhost ~]# echo -n '/var/ftp/tesa/123' | perl -ne '$rev=length($_); print $rev,"\n";'
17
[root@localhost ~]# echo -n '/var/ftp/tesa/123  ' | perl -ne '$rev=length($_); print $rev,"\n";'
19


4,substr
substr (expr, skipchars, length)
抽取字符串(或表达式生成的字符串)expr中的子串,跳过skipchars个字符,或者说从位置skipchars开始抽取子串(第一个字符位置为0),子串长度为length,

此参数可忽略,意味着取剩下的全部字符。
当此函数出现在等式左边时,expr必须为变量或数组元素,此时其中部分子串被等式右边的值替换。

substr() 函数的作用有两个:替换一部分子串。 删除一部分子串。

例子如下:

[root@localhost ~]# echo -n '/var/ftp/test/123' | perl -ne '$rev=substr($_, 9,);print $rev,"\n";'
test/123
[root@localhost ~]# echo -n '/var/ftp/test/123' | perl -ne '$rev=substr($_, 9, 4);print $rev,"\n";'
test

替换:
[root@localhost ~]# echo -n '/var/ftp/test/123' | perl -ne '$rev=substr($_, 9, 4)="hello"; print $rev,"\n";'
hello
删除:
[root@localhost ~]# echo -n '/var/ftp/test/123' | perl -ne '$rev=substr($_, 9, 4)=""; print $rev,"\n";'




5,lc,uc,lcfirst,ucfirst
lc,将字符串改为小写
uc,将字符串改为大写
lcfirst,改变字符串首字母小写
ucfirst,改变字符串首字母大写

例子如下:

[root@localhost ~]# echo -n 'hello, hanli' | perl -ne '$rev=uc($_); print $rev,"\n";'
HELLO, HANLI
[root@localhost ~]# echo -n 'HELLO, hanli' | perl -ne '$rev=lc($_); print $rev,"\n";'
hello, hanli
[root@localhost ~]# echo -n 'hello, Hanli' | perl -ne '$rev=ucfirst($_); print $rev,"\n";'
Hello, Hanli
[root@localhost ~]# echo -n 'hello, Hanli' | perl -ne '$rev=lcfirst($_); print $rev,"\n";'
hello, Hanli

阅读(2104) | 评论(0) | 转发(3) |
给主人留下些什么吧!~~