[Ruby]字串處理

來源:互聯網
上載者:User

1.返回字串的長度
str.length => integer

2.判斷字串中是否包含另一個串
str.include? other_str => true or false

   "hello".include? "lo"   #=> true
   "hello".include? "ol"   #=> false
   "hello".include? ?h     #=> true

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')   #=> "abXcd"
   "abcd".insert(-1, 'X')   #=> "abcdX"

4.字串分隔,預設分隔符號為空白格
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,,"]
  
5.字串替換
str.gsub(pattern, replacement) => new_str
str.gsub(pattern) {|match| block } => new_str

"hello".gsub(/[aeiou]/, '*')              #=> "h*ll*"     #將母音替換成*號
   "hello".gsub(/([aeiou])/, '</1>')         #=> "h<e>ll<o>"   #將母音加上角括弧,/1表示保留原有字元???
   "hello".gsub(/./) {|s| s[0].to_s + ' '}   #=> "104 101 108 108 111 "

字串替換二:
str.replace(other_str) => str
   s = "hello"         #=> "hello"
   s.replace "world"   #=> "world"

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"

7.去掉前和後的空格
str.lstrip => new_str

   "  hello  ".lstrip   #=> "hello  "
   "hello".lstrip       #=> "hello"

8.字串匹配
str.match(pattern) => matchdata or nil

9.字串反轉
str.reverse => new_str

"stressed".reverse   #=> "desserts"

10.去掉重複的字元
str.squeeze([other_str]*) => new_str
 "yellow moon".squeeze                  #=> "yelow mon"  #預設去掉串中所有重複的字元
 "  now   is  the".squeeze(" ")         #=> " now is the"  #去掉串中重複的空格
 "putters shoot balls".squeeze("m-z")   #=> "puters shot balls"  #去掉指定範圍內的重複字元

11.轉化成數字
str.to_i=> str
"12345".to_i             #=> 12345

 
chomp和chop的區別:
chomp:去掉字串末尾的/n或/r
chop:去掉字串末尾的最後一個字元,不管是/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"
   "x".chop.chop       #=> ""

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.