Ruby字符串處理方法有哪些

小樊
81
2024-10-24 03:22:50

Ruby是一種非常靈活的編程語(yǔ)言,它提供了許多強(qiáng)大的字符串處理方法。以下是一些常用的方法:

  1. +:連接兩個(gè)字符串。
str1 = "Hello"
str2 = "World"
puts str1 + " " + str2  # 輸出 "Hello World"
  1. *****:重復(fù)字符串多次。
puts "Ruby" * 3  # 輸出 "RubyRubyRuby"
  1. []:訪問(wèn)字符串中的字符。
str = "Hello, World!"
puts str[0]  # 輸出 "H"
puts str[7]  # 輸出 "W"
  1. slice/sub:提取字符串的一部分。
puts str[0..4]  # 輸出 "Hello"
puts str[7..11]  # 輸出 "World"
puts str.slice(0, 5)  # 輸出 "Hello"
puts str.sub(/World/, "Ruby")  # 輸出 "Hello, Ruby!"
  1. gsub/replace:全局替換字符串中的子串。
puts str.gsub(/World/, "Ruby")  # 輸出 "Hello, Ruby!"
puts str.replace("Ruby")  # 輸出 "Ruby" (注意:這將改變?cè)甲址畇tr)
  1. downcase/upcase:將字符串轉(zhuǎn)換為小寫或大寫。
puts str.downcase  # 輸出 "hello, world!"
puts str.upcase  # 輸出 "HELLO, WORLD!"
  1. length/size:獲取字符串的長(zhǎng)度。
puts str.length  # 輸出 13
puts str.size  # 輸出 13 (在Ruby中,length和size方法通常返回相同的結(jié)果)
  1. strip/lstrip/rstrip:去除字符串兩端的空白字符。
puts str.strip  # 輸出 "Hello, World!"
puts str.lstrip  # 輸出 "Hello, World!" (沒有變化,因?yàn)樽址_頭沒有空白字符)
puts str.rstrip  # 輸出 "Hello, World!" (沒有變化,因?yàn)樽址Y(jié)尾沒有空白字符)
  1. include?:檢查字符串中是否包含指定的子串。
puts str.include?("World")  # 輸出 true
puts str.include?("planet")  # 輸出 false
  1. split:將字符串分割為子字符串?dāng)?shù)組。
puts str.split(", ")  # 輸出 ["Hello", "World!"]
  1. join:將字符串?dāng)?shù)組連接為一個(gè)字符串。
words = ["Hello", "World"]
puts words.join(" ")  # 輸出 "Hello World"
  1. reverse:反轉(zhuǎn)字符串。
puts str.reverse  # 輸出 "!dlroW ,olleH"
  1. capitalize:將字符串的首字母轉(zhuǎn)換為大寫,其余字母轉(zhuǎn)換為小寫。
puts str.capitalize  # 輸出 "Hello, world!"
  1. swapcase:將字符串中的大寫字母轉(zhuǎn)換為小寫字母,小寫字母轉(zhuǎn)換為大寫字母。
puts str.swapcase  # 輸出 "hELLO, wORLD!"
  1. tr/delete:刪除字符串中指定的字符或子串。
puts str.tr("l", "L")  # 輸出 "HeLLo, WorLd!"
puts str.delete("l")  # 輸出 "Heo, Word!" (注意:這將改變?cè)甲址畇tr)
  1. gsub/sub!:替換字符串中的子串(gsub全局替換,sub替換第一個(gè)匹配項(xiàng))。
puts str.gsub(/World/, "Ruby")  # 輸出 "Hello, Ruby!"
str = "Hello, World!"
str.sub!("World", "Ruby")  # 輸出 "Hello, Ruby!" (注意:這將改變?cè)甲址畇tr)
  1. match:檢查字符串是否匹配正則表達(dá)式。
puts str.match?(/\w+/)  # 輸出 true
  1. scan:在字符串中搜索匹配正則表達(dá)式的子串。
puts str.scan(/\w+/)  # 輸出 ["Hello", "World"]
  1. each_char/each_word:迭代字符串中的字符或單詞。
str = "Hello World"
str.each_char { |char| puts char }  # 逐個(gè)輸出字符
str.each_word { |word| puts word }  # 逐個(gè)輸出單詞
  1. chomp/chop:刪除字符串末尾的換行符或空白字符。
puts str.chomp  # 輸出 "Hello, World!" (沒有變化,因?yàn)闆]有換行符)
puts str.chop  # 輸出 "Hello, World" (刪除了最后一個(gè)字符"!",但保留了換行符)

以上只是Ruby字符串處理方法的一部分,Ruby還提供了許多其他強(qiáng)大的字符串操作方法。

0