• perl学习(10) 字符串处理函数和排序


    1.1.index

    Perl 查找子串第一次在大字符串中出现的地方,返回第一个字符的位置。

    字符位置是从0 开始编号的。如果子串在字符串的开头处找到,则index 返回0

    如果子串不存在,则返回-1. 

    my $stuff = “Howordy world!”;

    my $where1 = index($stuff,“wor”); #$where1 得到2

    my $where2 = index($stuff,“w”, $where+3); #$where 得到6

    my $where3 = index($stuff,“w”, $where+); #$where -1(没有找到) 

    rindex 函数返回子串最后出现的位置

    my $fred = “Yabba dabba doo!”;

    my $where1 = rindex($fred, “abba”); #$where1 得到7

    my $where2 = rindex($fred, “abba”, $where - 1); #$where2 得到1

    my $where3 =rindex($fred, “abba”, $where2-1); #$whrere3 得到-1 

    1.2.substr

    substr 截取处理部分的字符串。

    它有三个参数:

    字符串,一个从0 开始编号的初始位置(类似于index 的返回值),以及子串的长度。

    返回值是一个子串

    my $mineral = substr(“Fred J. Flintstone”, 8, 5); #得到“Flint” 

    初始位置可以是负的,表示从字符串结尾处开始

    my $out = substr (“some very long string”, -3, 2); # $out 得到“in” 

    substrperl里特殊的地方,可以做左值

    my $string = “Hello, world!”;

    substr($string, 0, 5) = “Goodbye”; # $string 现在变成了“Goodbye, world!”

    赋值的(子)串长度不需要和它替换的子串长度相同。字符串会自动调整到合适的长度 

    #最后20个字符替换为barney

    substr($string, -20) =~ s/fred/barney/g;

     substr index 能完成的大部分工作都可由正则表达式来完成,substr index 通常更快,理由:它们从不是大小写无关的,他们没有元字符(metacharacters)需要担心,也不设置内存变量(memory variables)。 

    1.3.sprintf

    使用sprintf格式化数据

    my $data_tag = sprint  “%4d/%02d/%02d %02d:%02d:%02d”, $yr, $mo, $da, $h, $m, $s; 

    这个和c是完全一致的。

    1.4.高级排序

    内嵌函数sort 可以定义一些比较函数,这个和c中过的sort是一样的。

    先在没有具体实例,以后用到的时候添加!

  • 相关阅读:
    DataGridView拖动到TreeView
    TreeView 拖拽 增删改
    C# 代码生成器 (存储过程生成方法)
    VC++ VS2010 error LNK1123 转换到 COFF 期间失败 怎么办
    VB和VB.NET有什么区别
    VB6 如何添加自定义函数 模块 把代码放到一个模块中
    VB6 如何连接MYSQL数据库
    VB6 如何自定义代码字体和支持鼠标滚轮
    Visual Studio VS如何切换代码自动换行
    UltraEdit UE常见问题 使用必读
  • 原文地址:https://www.cnblogs.com/riskyer/p/3320116.html
Copyright © 2020-2023  润新知