1. tr 转换 转换不是替换(tr///==y///)

tr/searchlist/replacementlist/用于查找某个一个字符串,并用replacementlist替换,可以使用正则表达式

my $str="this Is A teST";

$str=~tr/a-z/A-Z/; 把小写转换为大写 会输出THIS IS A TEST

s///  options

g 全局替换

i 忽略大小写

my $str3="this is a test\n";

$str3=~s/t/haha/g;                  =====>hahahis is a hahaeshaha
print $str3;
$str3=~s/HaHa/t/ig;                 =====>this is a test
print $str3;

this is a test

tr 与 替换的区别

tr可以使用正则表达式,替换不行,没法使用$str=~s/a-z/A-Z/; 不会有任何改变 tr/ab/ABC/ 替换原则是a->A b->B   而s/ab/ABC/会将ab->ABC

  • tr///

    The transliteration operator. Same as y///.

$count  = $str3=~ tr/i/i/; # count the stars in $sky   count  the number of a and store into $count

统计i的个数存放在$count

  1. #!/usr/bin/perl
  2. use strict;
  3. my $str1="this Is A tr TEST";
  4. my $str2="this Is A tr TEST";
  5. $str1=~s/t/T/g;
  6. $str2=~tr/a-z/A-Z/;
  7. print "$str1\n";
  8. print "$str2\n";
  9. my $str3="this is a test\n";
  10. my $count=$str3=~tr/i/i/;
  11. print "\ncount the number of i --->$count<----\n";

结果:

D:\>perl tr.pl
This Is A Tr TEST
THIS IS A TR TEST

count the number of i --->2<----

tr  Options:

c Complement the SEARCHLIST.                   清单没写到的就补给他右边清单的最后一个字元
d Delete found but unreplaced characters.      对照表中没有的项目就删掉 
s Squash duplicate replaced characters.        重复的字符变成一个
 

my $strs="have a good day\n";
$strs=~tr/a/_/c;                      =====>  _a___a_______a__

print $strs;

my $strs="have a good day\n";

$strs=~tr/ao/Ao/s;    =====>hAve A god dAy 两个O变成一个
 

my $strs="have a good day\n";
$strs=~tr/hag/HA/d;                 ===>HAve A ood dAy

参考:http://www.cnblogs.com/blueicely/archive/2012/12/13/2816371.html

生成随机数:

rand

Returns a random fractional number greater than or equal to 0 and less than the value of EXPR.

example:

int(rand(10))

returns a random integer between 0 and 9, inclusive.

perl的一些函数(二)的更多相关文章

  1. 【Perl学习笔记】1.perl的ref 函数

    perl有引用的概念:一组数据实际上是另一组数据的引用.这些引用称为指针,第一组数据中存放的是第二组数据的头地址.引用的方式被用得相当普遍,特别是在面向对象的模块.函数的参数传递等常见.但perl对每 ...

  2. perl的map函数

    perl的map函数的使用: 语法 map EXPR, LIST map BLOCK LIST 定义和使用 对list中的每个元素执行EXPR或BLOCK,返回新的list.对每一此迭代,$_中保存了 ...

  3. python之内置函数(二)与匿名函数、递归函数初识

    一.内置函数(二)1.和数据结构相关(24)列表和元祖(2)list:将一个可迭代对象转化成列表(如果是字典,默认将key作为列表的元素).tuple:将一个可迭代对象转化成元组(如果是字典,默认将k ...

  4. c/c++ 图相关的函数(二维数组法)

    c/c++ 图相关的函数(二维数组法) 遍历图 插入顶点 添加顶点间的线 删除顶点 删除顶点间的线 摧毁图 取得与v顶点有连线的第一个顶点 取得与v1顶点,v1顶点之后的v2顶点的之后的有连线的第一个 ...

  5. python---day14( 内置函数二)

    内置函数二一:匿名函数 lambda函数 lambda 表示匿名函数,不需要用def 来申明. 语法: 函数名=lambda 参数:返回值 ----〉 案例:f=lambda n:n*n 例子01: ...

  6. 一款多功能的移动端滚动选择器,支持单选到多选、支持多级级联、提供自定义回调函数、提供update函数二次渲染、重定位函数、兼容pc端拖拽等等..

    https://github.com/onlyhom/mobileSelect.js/blob/master/docs/README-CN.md mobileSelect.js 一款多功能的移动端滚动 ...

  7. C#中的函数(二) 有参有返回值的函数

    接上一篇 C#中的函数(-) 无参无返回值的函数 http://www.cnblogs.com/fzxiaoyi/p/8502613.html 这次研究下C#中的函数(二) 有参有返回值的函数 依然写 ...

  8. python函数知识六 内置函数二、匿名函数与内置函数三(重要)

    19.内置函数二 abs():绝对值 lst = [1,2,-3,1,2,-5] print([abs(i) for i in lst]) enumerate("可迭代对象",&q ...

  9. Perl字符串处理函数用法集锦

    Perl字符串处理函数 0.函数名 index 调用语法position=index(string,substring,position); 解说返回子串substring在字符串string中的位置 ...

  10. perl中sprintf函数的用法

    对于某些字符串,需要输入为特定的格式,通过sprintf可以很方便的完成,不需要专门进行其他处理. 转载 perl中sprintf函数的使用方法.

随机推荐

  1. cas单点登录 SSO 的实现原理

    原文出处: cutesource   欢迎分享原创到伯乐头条 单点登录SSO(Single Sign On)说得简单点就是在一个多系统共存的环境下,用户在一处登录后,就不用在其他系统中登录,也就是用户 ...

  2. android-获取当前屏幕尺寸信息

    方法有两种一: DisplayMetrics metrics = new DisplayMetrics(); getWindowManager().getDefaultDisplay().getMet ...

  3. 【转】 C++使用zlib库(-)

    来自:  http://blog.chinaunix.net/uid-24607609-id-2118143.html   今天看到一个gzopen函数,搜了一下他的系列函数,及相关用法   C++使 ...

  4. 如何申请https证书、搭建https网站

    如何申请https证书.搭建https网站 随着国内搜索引擎巨头百度启用全站https加密服务,全国掀起了网站https加密浪潮.越来越多的站点希望通过部署https证书来解决“第三方”对用户隐私的嗅 ...

  5. AngularJS API之equal比较对象

    使用情况 1 首先,所有满足 a === 3 这种的对象,在angular.equals(a,b)中都会返回真 2 所有对象的类型,以及属性值都相同的,也会返回真 3 NaN和NaN也会返回真(在ja ...

  6. 繁华模拟赛day8 字典序

    /* 这个题要我们求一个字典序,字符串给出的顺序,会对字母的字典序前后相对顺序进行限定,如何用来表示这种限定,我们注意到这种一个之后接着一个,只有先输出他前面的才能输出他,很明显就是拓扑排序,最小方案 ...

  7. spark

    http://www.cnblogs.com/shishanyuan/p/4723604.html?utm_source=tuicool spark presto2.0计算引擎 http://blog ...

  8. PHP基础文件下载类的简单封装

    1: <?php 2: /** 3: * [FileDown 公用文件下载方法] 4: * @param [type] $filePath [文件路径(绝对路径或相对路径)] 5: */ 6: ...

  9. 网络编程2-UDP编程(DatagramSocket)

    1.传输层有两个协议,一个是tcp协议,另一个是udp协议,tcp协议通过socket编程.udp通过数据报编程. UDP协议: (1)将数据.源地址.目的地址 封装成数据包,不需要建立链接 (2)每 ...

  10. C语言的源程序字符集与执行字符集

    我们程序文件的字符集就是我们写出来的.c扩展名的文件的字符集,这里用的是系统默认的 ANSI 字符集,如下图: 上面的字符集我们不关心,我们关心的是 源程序的字符集 和程序的 执行字符集 ,源程序的字 ...