• Ruby快速入门(五):字符串和正则表达式


    原文地址:http://blog.csdn.net/zhu_xz/article/details/4961027

    Ruby中的字符串 用String类表示,例如:

    1. puts "hello,/nstring"  
    2. puts 'hello,/nstring'  

    这里第一行用双引号表示的字符串中可以使用转义字符/n表示换行;第二行用单引号表示的字符串中,则不会处理转义字符,而是将其作为普通字符处理。类似的,只有双引号表示的字符串中可以使用#{}表达式。

     

    要在字符串中使用引号,除了用转义字符,还可以用自定义分隔符的方式。

    1. puts %$hello"delimiter"$  
    2. puts <<DEL  
    3. some text  
    4. more text  
    5. yet more  
    6. DEL  

    用百分号%就可以自定义分隔符,如这里定义美元符号$为分隔符。而使用两个小于号则能够定义支持跨行的分隔符,如这里定义DEL为分隔符。

     

    当然,Ruby也提供了大量便于操作的功能,例如:

    1. # 连接这三个字符串,得到“abc”  
    2. "a"+"b"+"c"  
    3. "a"<<"b"<<"c"  
    4. # 获取字符串中的一段  
    5. str="test sub-string"  
    6. str["abc"# 不存在,返回NULL  
    7. str["te"# 存在,返回“te”  
    8. str["test"]="hello" # 将test替换为hello  
    9. str[0, 5] # 取位子0开始的5个字符,为hello  
    10. # 插入  
    11. str.insert(5, " insert"# 得到hello insert sub-string  
    12. # 反序  
    13. str.reverse # 得到gnirts-bus tresni olleh  

     

    在很多场合,正则表达式 非常重要。在Ruby中,正则表达式位于两条斜线/之间,例如/abc/表示匹配字符串abc。其基本规则包括:

    /a/:匹配单个字符a

    //?/:匹配单个特殊字符^、$、?、.、/、/、[、]、{、}、(、)、+或者*

    /?/:匹配任意单个字符

    /*/:匹配任意个字符

    /+/:匹配一个或多个字符

    /d{5, 10}/:匹配5到10个字符

    /[ab]c/:匹配ac或者bc

    /[^ab]c/:匹配非ac和非bc

    //d/:匹配数字,相反为//D/

    //w/:匹配任意字母、数字或下划线,相反为//W/

    //s/:匹配任意空白字符(如空格、Tab等),相反为//S/

    ^:在行首才匹配

    $:在行尾才匹配

    /A:在字符串的开始才匹配

    /z:在字符串的结尾才匹配

    /Z:在字符串的结尾(不包括最后的换行符)才匹配

    /b:在单词边界才匹配

     

    Ruby中的正则表达式主要支持以下两个操作:

    1. "hello, regular expression"=~/exp/ # 返回15,即exp在字符串中的位置  
    2. /exp/.match("hello, regular expression"# 如果匹配则返回一个MatchData对象,否则返回NULL  

     

    最后看一个简单的例子。

    1. //b[a..l]/d/.match("hello, abc111 a123 z111")  
    2. # 获得一个匹配“a1”  

     

  • 相关阅读:
    Entity Framework 批量操作
    Tsak多线程学习记录
    .net webservice 动态更换地址
    .NET EF Core2.0 (DBFirst)使用与配置
    MVC发布IIS后提示未配置默认文档
    未能加载文件或程序集“Microsoft.Web.Infrastructure, Version=1.0.0.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35”或它的某一个依赖项。系统找不到指定的文件。
    Redis教程
    使用git将项目上传到github
    Redis集群(一)搭建Cluster模式[超简单]
    Redis 常见5大数据类型结构,附录3个数据类型
  • 原文地址:https://www.cnblogs.com/wangkangluo1/p/2115539.html
Copyright © 2020-2023  润新知