• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    公众号

Perl中的替换(七)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

在Perl中使用s///进行替换操作,与m//进行查找操作类似。

     s/with (\w+)/against $1's team/;      ##第一个双斜线,表示被替代的文本。第二个双斜线,表示将替代为的文本。

 

s///可以有不同的定界符,但是必须保证两对字符。一对包住模式,一对包住替换字符串。

     s#^https://#http://#;                    ##使用#号,分别包住模式和替换字符串。       

     s{}();                                            ##使用{}包住模式,()包住需要替换的字符串。

 

s///默认对$_进行替换操作。    

     $_ = "green scaly dinosaur";

     s/(\w+) (\w+)/$2, $1/;       ##匹配两个单词后,交换次序。$_= "scaly green dinosaur";

     s/^/huge,/;                        ##$_ = "huge, scaly, green dinosaur";

    

     s/^\s+//;                           ##将开头的空白替换为空字符串;

     s/\s+$//;                           ##将结尾的空白替换为空字符串;

 

s///也可以使用绑定操作符:

      $file_name =~ s#^.*/##s;   ##指定左侧为操作的字符串。替换后,字符串直接改变,存储在左侧的标量变量中。

      my $copy = $original =~ s/\d+ ribs?/10 ribs/r;   ##使用/r修饰符,不改变原字符串,返回新的字符串给$copy。

 

s///也可以使用模式修饰符,/g表示全局替换,/i表示不区分大小写,/x表示用空格作为分隔符,/s表示增大"."的范围。

 

字符串的大小写转换。

      \U将之后的所有字符转换为大写。

      \L将之后的所有字符转换为小写。

      \u将之后的首字符转换为大写。

      \l将之后的首字符转换为小写。

      \E关闭大小写转换功能。

      $_ = "I saw Barney with Fred";

      s/(fred|barney)/\U$1/gi;        ##$_ = "I saw BARNEY and FRED"

      s/(fred|barney)/\L$1/gi;

      s/(\w+) with (\w+)/\U$2\E with $1/i    ##$_ = "I saw FRED with barney"

      s/(fred|barney)/\u$1/ig;         ##$_ = "I saw FRED with Barney"

 

字符串的一些操作符。字符串分割与合并。

      my @fields = split /separator/, $string;

      my @fields = split /:/, "abc:def:g:h";

      my $result = join $glue, @piece;

      my $i = join ":",4,6,8,10;

   

m//的返回值,在列表上下文,表示捕获变量的列表。

      my $data = "Barney Rubble Fred Flintstone Wilma Flintstone";

      my %last_name = ($data =~ /(\w+) \s+ (\w+)/g);    ##由m//直接生成哈希。

 

直接从命令行运行简短的perl程序。

      perl -p -i.bak -w -e 's/Random/Rand/g' fred*.dat

其中-p表示自动化生成一段读再输出的小程序。不需要带输出时,可以选择-n。

-i.bak对原文件做备份。

-w开启warning。

-e表示之后是直接执行的程序代码。

fred*.dat进行ARGV参数表,表示需要处理的文本。

  perl -n -e 'print "\t gcc test_time.c" '  print实现标准输出


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
Eclipse安装Perl插件发布时间:2022-07-22
下一篇:
perl连接mysql(转载)发布时间:2022-07-22
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap