zoukankan      html  css  js  c++  java
  • Perl语言中的ig

    Perl 中s/// 和 tr/// 的差别

    说真的,要学好 perl 还真的不简单,因为 perl 的程序代码比C来得精简一半1,靠得就是在撰写时的大脑运作。程设师得花更多时间写出精简的 code,同时也要将「语意上的错误」减少到最低,这就是要靠经验的累积。废话不多说,先说s/// 置换的功能,s 是 substitute的意思:

    s/原来字符串/目的字符串/修饰子

    s/// 会默认搜索 $ _,找出「原来字符串」,换成「目的字符串」。该运算符返回匹配的数量或进行替换的数量,如果没有进行任何匹配,则返回0。

    ex:  把 Who 换成 What

    $str = "Who are you?";
    $str =~ s/Who/What/;

    要取得比对成功的个数,可以写
    print $str =~ s/Who/What/;   # 结果 1
    但是 print $str;

    What are you?
    很有趣的差别,就算是老手也容易忘记,其实写成这样就容易种了 $cnt= ($str =~ s/Who/What/);   #$cnt=1

    s/// 只会预设置换第一个找到的目标字符串,假若想全部置换,就要加 g 修饰子:

    $str = "What a wonderful wonderful world.";
    $str =~ s/w/W/g;     # str = "What a Wonderful Wonderful World."

    假设比对原来的字符串不分大小写的话,就可加 i 修饰子:

    $str = "What a wonderful wonderful world.";
    $str =~ s/w/www/ig;     # str = "www a wwwonderful wwwonderful wwworld."

     

    来源:

    http://blog.sina.com.cn/s/blog_4a0824490101hncz.html

  • 相关阅读:
    bzoj4821
    bzoj2434
    第二阶段团队项目冲刺站立会议(五)
    第二阶段团队项目冲刺站立会议(四)
    第二阶段团队项目冲刺站立会议(三)
    小水王
    第二阶段团队项目冲刺站立会议(二)
    梦断代码阅读笔记02
    第二阶段团队项目冲刺站立会议(一)
    梦断代码阅读笔记01
  • 原文地址:https://www.cnblogs.com/bio-mary/p/12244042.html
Copyright © 2011-2022 走看看