zoukankan      html  css  js  c++  java
  • Perl中的替换(七)

    在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$2E 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 " gcc test_time.c" '  print实现标准输出

  • 相关阅读:
    sublime text 4 vim 插件配置
    ssh-keygen 的使用
    distribution transaction solution
    bilibili 大数据 视频下载 you-get
    Deepin 20.2.1 安装 MS SQL 2019 容器版本
    【转】使用Linux下Docker部署MSSQL并加载主机目录下的数据库
    【转】You Can Now Use OneDrive in Linux Natively Thanks to Insync
    dotnet 诊断工具安装命令
    Linux 使用 xrandr 设置屏幕分辨率
    【转】CentOS 7.9 2009 ISO 官方原版镜像下载
  • 原文地址:https://www.cnblogs.com/-9-8/p/5087098.html
Copyright © 2011-2022 走看看