Ruby 字符串(String)


Ruby 字符串(String)

Ruby 中的字符串(String)是一个不可变的对象,用于存储文本序列。在 Ruby 中,可以使用单引号和双引号来创建字符串。

字符串的创建

使用单引号

使用单引号可以创建简单的字符串,例如:

str1 = 'Hello, world!'

使用双引号

双引号可以在字符串中嵌入变量和转义字符,例如:

name = 'Ruby'
str2 = "Hello, #{name}!"

其中 #{name} 可以插入变量 name 的值。

使用 %Q

使用 %Q%q 可以创建双引号和单引号字符串的另外一种表示方法,例如:

str3 = %Q{Hello, "#{name}"!}
str4 = %q{He said, 'Hello, world!'}

其中 %Q{} 等价于 ""%q{} 等价于 ''

字符串的基本操作

连接字符串

使用 + 运算符可以将两个字符串连接起来,例如:

str5 = "Hello, " + "world!"

也可以使用 << 运算符将字符串连接起来,例如:

str6 = "Hello, "
str6 << "world!"

获取字符串长度

使用 .length.size 方法可以获取字符串的长度,例如:

str7 = "Hello, world!"
str7.length #=> 13
str7.size #=> 13

判断字符串是否包含子串

使用 .include? 方法可以判断字符串是否包含某个子串,例如:

str8 = "Hello, world!"
str8.include?("world") #=> true

查找子串的位置

使用 .index 方法可以查找子串的位置,例如:

str9 = "Hello, world!"
str9.index("world") #=> 7

如果没有找到,则返回 nil

替换字符串中的部分内容

使用 .sub 方法可以替换字符串中的第一个匹配项,使用 .gsub 方法可以替换字符串中的所有匹配项,例如:

str10 = "Hello, world!"
str10.sub("world", "Ruby") #=> "Hello, Ruby!"
str10.gsub("l", "L") #=> "HeLLo, worLd!"

字符串的高级操作

使用正则表达式匹配

Ruby 中提供了强大的正则表达式支持。使用 =~ 运算符可以进行正则表达式匹配,例如:

str11 = "Hello, world!"
if str11 =~ /world/
  puts "Match!"
end

该代码会输出 “Match!"。

分割字符串

使用 .split 方法可以将字符串按照指定的分隔符分割成数组,例如:

str12 = "one,two,three"
str12.split(",") #=> ["one", "two", "three"]

字符串格式化

使用 % 方法可以进行字符串格式化,例如:

str13 = "Ruby"
str14 = "Hello, %s!" % str13
puts str14 #=> "Hello, Ruby!"

其中 %s 表示字符串占位符。

总结

字符串是 Ruby 中最常用的数据类型之一,我们可以通过多种方式来创建、修改、操作和格式化字符串。需要注意的是,Ruby 中的字符串是不可变的,因此每次修改字符串都会创建一个新的字符串对象。