Ruby是一种非常灵活的编程语言,它提供了许多强大的字符串处理方法。以下是一些常用的方法:
- +:连接两个字符串。
str1 = "Hello" str2 = "World" puts str1 + " " + str2 # 输出 "Hello World"
- *****:重复字符串多次。
puts "Ruby" * 3 # 输出 "RubyRubyRuby"
- []:访问字符串中的字符。
str = "Hello, World!" puts str[0] # 输出 "H" puts str[7] # 输出 "W"
- 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!"
- gsub/replace:全局替换字符串中的子串。
puts str.gsub(/World/, "Ruby") # 输出 "Hello, Ruby!" puts str.replace("Ruby") # 输出 "Ruby" (注意:这将改变原始字符串str)
- downcase/upcase:将字符串转换为小写或大写。
puts str.downcase # 输出 "hello, world!" puts str.upcase # 输出 "HELLO, WORLD!"
- length/size:获取字符串的长度。
puts str.length # 输出 13 puts str.size # 输出 13 (在Ruby中,length和size方法通常返回相同的结果)
- strip/lstrip/rstrip:去除字符串两端的空白字符。
puts str.strip # 输出 "Hello, World!" puts str.lstrip # 输出 "Hello, World!" (没有变化,因为字符串开头没有空白字符) puts str.rstrip # 输出 "Hello, World!" (没有变化,因为字符串结尾没有空白字符)
- include?:检查字符串中是否包含指定的子串。
puts str.include?("World") # 输出 true puts str.include?("planet") # 输出 false
- split:将字符串分割为子字符串数组。
puts str.split(", ") # 输出 ["Hello", "World!"]
- join:将字符串数组连接为一个字符串。
words = ["Hello", "World"] puts words.join(" ") # 输出 "Hello World"
- reverse:反转字符串。
puts str.reverse # 输出 "!dlroW ,olleH"
- capitalize:将字符串的首字母转换为大写,其余字母转换为小写。
puts str.capitalize # 输出 "Hello, world!"
- swapcase:将字符串中的大写字母转换为小写字母,小写字母转换为大写字母。
puts str.swapcase # 输出 "hELLO, wORLD!"
- tr/delete:删除字符串中指定的字符或子串。
puts str.tr("l", "L") # 输出 "HeLLo, WorLd!" puts str.delete("l") # 输出 "Heo, Word!" (注意:这将改变原始字符串str)
- gsub/sub!:替换字符串中的子串(
gsub
全局替换,sub
替换第一个匹配项)。
puts str.gsub(/World/, "Ruby") # 输出 "Hello, Ruby!" str = "Hello, World!" str.sub!("World", "Ruby") # 输出 "Hello, Ruby!" (注意:这将改变原始字符串str)
- match:检查字符串是否匹配正则表达式。
puts str.match?(/\w+/) # 输出 true
- scan:在字符串中搜索匹配正则表达式的子串。
puts str.scan(/\w+/) # 输出 ["Hello", "World"]
- each_char/each_word:迭代字符串中的字符或单词。
str = "Hello World" str.each_char { |char| puts char } # 逐个输出字符 str.each_word { |word| puts word } # 逐个输出单词
- chomp/chop:删除字符串末尾的换行符或空白字符。
puts str.chomp # 输出 "Hello, World!" (没有变化,因为没有换行符) puts str.chop # 输出 "Hello, World" (删除了最后一个字符"!",但保留了换行符)
以上只是Ruby字符串处理方法的一部分,Ruby还提供了许多其他强大的字符串操作方法。