2009年5月16日星期六

取出字符串中的一部分

在字符串中,从给定的起始位置开始, 任意长度的字符



p 'abcdefghi'[3..3]    #=> "def" (从3开始3byte)



同样也可以使用给定的起始位置和结束位置,来从字符串中取出这一区间的字符



p 'abcdefghi'[3..5]    #=> "def"
p 'abcdefghi'[3...6]    #=> "def"



以上的方法都是以byte单位为进行计算的
下面使用正则表达式来实现



# 从 a 开始取出3个字符
p 'abcdefghi'.slice(/a../)    #=> "abc"
p 'abcdefghi'.slice(/x../)    #=> nil

# 将所有匹配字符取出
p 'static int fact(int n)'.scan(/\w+/)
    #=> ["static", "int", "fact", "int", "n"]



没有评论:

发表评论