zoukankan      html  css  js  c++  java
  • 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是一样的。

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

  • 相关阅读:
    JavaSE 基础 第51节 定义自己的异常
    JavaSE 基础 第50节 Java中的异常链
    JavaSE 基础 第49节 手动抛出异常
    JavaSE 基础 第48节 Java中的异常声明
    JavaSE 基础 第47节 获取异常信息
    JavaSE 基础 第46节 异常的分类
    JavaSE 基础 第45节Java异常快速入门
    JavaSE 基础 第44节 引用外部类的对象
    JavaSE 基础 第43节 静态内部类
    通用爬虫
  • 原文地址:https://www.cnblogs.com/riskyer/p/3320116.html
Copyright © 2011-2022 走看看