zoukankan      html  css  js  c++  java
  • 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”  

     

  • 相关阅读:
    LeetCode Single Number
    Leetcode Populating Next Right Pointers in Each Node
    LeetCode Permutations
    Leetcode Sum Root to Leaf Numbers
    LeetCode Candy
    LeetCode Sort List
    LeetCode Remove Duplicates from Sorted List II
    LeetCode Remove Duplicates from Sorted List
    spring MVC HandlerInterceptorAdapter
    yum
  • 原文地址:https://www.cnblogs.com/wangkangluo1/p/2115539.html
Copyright © 2011-2022 走看看