Ruby字符串處理函數(shù)總結(jié)列表分享
Ruby語(yǔ)言對(duì)于編程人員來(lái)說(shuō)是一項(xiàng)非常有用的函數(shù)。學(xué)好這項(xiàng)語(yǔ)言可以幫助我們實(shí)現(xiàn)簡(jiǎn)便輕松的編寫(xiě)方式。下面我們向大家介紹一下Ruby字符串處理函數(shù)的一些基本概念。#t#
Ruby字符串處理函數(shù)1.返回字符串的長(zhǎng)度
- str.length => integer
Ruby字符串處理函數(shù)2.判斷字符串中是否包含另一個(gè)串
- str.include? other_str
=> true or false - "hello".include? "lo"
#=> true - "hello".include? "ol"
#=> false - "hello".include? ?h
#=> true
Ruby字符串處理函數(shù)3.字符串插入:
- str.insert(index, other_str)
=> str- "abcd".insert(0, 'X')
#=> "Xabcd"- "abcd".insert(3, 'X')
#=> "abcXd"- "abcd".insert(4, 'X')
#=> "abcdX"- "abcd".insert(-3, 'X')
- -3, 'X') #=> "abXcd"
- "abcd".insert(-1, 'X')
#=> "abcdX"
Ruby字符串處理函數(shù)4.字符串分隔,默認(rèn)分隔符為空格
- str.split(pattern=$;, [limit])
=> anArray- " now's the time".split #=>
["now's", "the", "time"]- "1, 2.34,56, 7".split(%r{,\s*})
#=> ["1", "2.34", "56", "7"]- "hello".split(//) #=>
["h", "e", "l", "l", "o"]- "hello".split(//, 3) #=>
["h", "e", "llo"]- "hi mom".split(%r{\s*}) #=>
["h", "i", "m", "o", "m"]- "mellow yellow".split("ello")
#=> ["m", "w y", "w"]- "1,2,,3,4,,".split(',') #=>
["1", "2", "", "3", "4"]- "1,2,,3,4,,".split(',', 4)
#=> ["1", "2", "", "3,4,,"]
Ruby字符串處理函數(shù)5.字符串替換
- str.gsub(pattern, replacement)
=> new_str- str.gsub(pattern) {|match| block }
=> new_str- "hello".gsub(/[aeiou]/, '*')
#=> "h*ll*" #將元音替換成*號(hào)- "hello".gsub(/([aeiou])/, '<\1>')
#=> "h<e>ll<o>" #將元音加上尖括號(hào),
\1表示保留原有字符???- "hello".gsub(/./) {|s| s[0].
to_s + ' '}
#=> "104 101 108 108 111 "
Ruby字符串處理函數(shù)字符串替換二:
- str.replace(other_str)
=> str- s = "hello" #=>
"hello"- s.replace "world"
#=> "world"
Ruby字符串處理函數(shù)6.字符串刪除:
- str.delete([other_str]+)
=> new_str- "hello".delete "l","lo"
#=> "heo"- "hello".delete "lo"
#=> "he"- "hello".delete "aeiou", "^e"
#=> "hell"- "hello".delete "ej-m"
#=> "ho"
Ruby字符串處理函數(shù)7.去掉前和后的空格
- str.lstrip =>
new_str- " hello ".lstrip
#=> "hello "- "hello".lstrip
#=> "hello"
Ruby字符串處理函數(shù)8.字符串匹配
- str.match(pattern) =>
matchdata or nil
Ruby字符串處理函數(shù)9.字符串反轉(zhuǎn)
- str.reverse => new_str
- "stressed".reverse
#=> "desserts"
Ruby字符串處理函數(shù)10.去掉重復(fù)的字符
- str.squeeze([other_str]*) => new_str
- "yellow moon".squeeze #=>
"yelow mon" #默認(rèn)去掉串中所有重復(fù)的字符- " now is the".squeeze(" ") #=>
" now is the" #去掉串中重復(fù)的空格- "putters shoot balls".squeeze("m-z")
#=> "puters shot balls"
#去掉指定范圍內(nèi)的重復(fù)字符
Ruby字符串處理函數(shù)11.轉(zhuǎn)化成數(shù)字
- str.to_i=> str
- "12345".to_i #=> 12345
chomp和chop的區(qū)別:
chomp:去掉字符串末尾的\n或\r
chop:去掉字符串末尾的最后一個(gè)字符,不管是\n\r還是普通字符
- "hello".chomp #=> "hello"
- "hello\n".chomp #=> "hello"
- "hello\r\n".chomp #=> "hello"
- "hello\n\r".chomp #=> "hello\n"
- "hello\r".chomp #=> "hello"
- "hello".chomp("llo") #=> "he"
- "string\r\n".chop #=> "string"
- "string\n\r".chop #=> "string\n"
- "string\n".chop #=> "string"
- "string".chop #=> "strin"