perl对字符串的处理

简介:
perl对字符串的处理
当我们对字符串其中的某部分做截出,替换,删除(不包括搜索)。我们可以想到的用substr,unpack,regex这些方法来做。
如果搜索,那么让我们想到的是index,rindex.
(1)截出
substr
$str="I'm boy,and you?";
$sex=substr($str,4,3);#boy

unpack
$sex=unpack("x4A3",$str);#跳过4字节打印后面3个字符

regex
$str = ~m/(boy)/;#将匹配值存入$1中
print $1;

(2)替换
substr
substr($str,4,3,"girl");
print $str;             #I'm girl,and you?

substr($str,4,3)="girl";
print $str;             #I'm girl,and you?


unpack
无法做到

regex
$str =~ s/boy/girl/g;
print $str;

删除
substr($str,4,3)="";
print $str;         #I'm ,and you?

unpack
无法做到

regex
$str =~ s/boy//g;

print $str;



本文转自hahazhu0634 51CTO博客,原文链接:http://blog.51cto.com/5ydycm/538241,如需转载请自行联系原作者

相关文章
|
2月前
|
存储 数据处理 数据格式
|
2月前
|
存储 人工智能 BI
|
2月前
|
存储 人工智能 BI
|
2月前
|
人工智能 数据处理 数据格式
|
2月前
|
数据处理 Perl
|
2月前
|
Windows Perl
Perl 教程 之 Perl 正则表达式 8
Perl的正则表达式是其强项,常用于字符串匹配、查找、替换等。基本操作包括:`.`匹配任意字符(除换行符),`x?`匹配0或1次`x`,`x*`匹配0或多次`x`,`x+`匹配1或多次`x`。还有范围匹配如`[0-9]`、否定匹配`[^a-z]`、边界匹配`\b`等。特殊序列如`\d`代表数字,`\s`代表空格,`()`用于记忆匹配内容,`/pattern/i`忽略大小写。
11 0
|
2月前
|
Perl
Perl 教程 之 Perl 正则表达式 5
Perl正则表达式教程第五节介绍替换操作修饰符:i-不区分大小写,m-^和$匹配每行,o-表达式只执行一次,s-."包含换行符,x-忽略空格,g-替换所有匹配项,e-将替换字符串当作表达式执行。Perl的正则功能极强,影响了多种语言的设计。
11 1
|
2月前
|
Perl
Perl 教程 之 Perl 正则表达式 7
Perl教程讲解了其强大的正则表达式功能,用于字符串匹配、查找、替换和提取。示例展示如何使用`/s`删除变量`$string`中的重复字符,输出结果为原字符串。其他实例包括将非数字字符替换为空格,删除tab和空格,以及将数字间字符替换为单个空格。
15 3
|
2月前
|
Perl
Perl 教程 之 Perl 正则表达式 6
**Perl正则表达式强大多能,常用于字符串匹配、替换和提取。转化操作符如`tr`用于字符转换,如将所有小写字母转大写:`$string =~ tr/a-z/A-Z/`。**
17 2
|
2月前
|
Perl
Perl 教程 之 Perl 正则表达式 2
**Perl正则表达式:**功能强大,常用于字符串匹配、替换和提取。修饰符如`i`(不区分大小写)、`m`(多行模式)、`o`(一次性编译)、`s`(点号匹配换行符)、`x`(忽略空白)和`g`(全局匹配)。`cg`结合全局匹配,允许失败后继续查找。其他语言常参考Perl的正则实现。
9 1