📅  最后修改于: 2023-12-03 14:53:27.049000             🧑  作者: Mango
在 Ruby 中,我们可以使用 index
方法来查找字符串中某个子串的位置。
string.index(substring, start)
其中:
string
是要查找子串的字符串;substring
是要查找的子串;start
是一个可选参数,指定开始查找的位置,默认值为 0
。如果 start
是负数,则从字符串的末尾开始查找。str = "hello world"
index = str.index("world")
puts index # 输出:6
在上面的示例中,str.index("world")
返回值为 6
。注意,因为 Ruby 中的索引从 0
开始,所以返回值为 6
,而不是 7
。
如果字符串中不存在要查找的子串,index
方法返回 nil
。下面的示例演示了如何判断子串是否存在:
str = "hello world"
if str.index("ruby")
puts "'ruby' found in '#{str}'"
else
puts "'ruby' not found in '#{str}'"
end
输出:'ruby' not found in 'hello world'
除了正向查找,我们还可以使用 rindex
方法进行反向查找。这个方法和 index
方法类似,但是它从字符串的末尾开始查找子串。
str = "hello world"
index = str.rindex("l")
puts index # 输出:9
在上面的示例中,因为 str
中有两个 "l" 字符,rindex
方法返回最后一个 "l" 的位置,即 9
。
除了 index
和 rindex
方法之外,Ruby 还提供了许多其他有用的字符串处理方法,如下所示:
start_with?
:判断字符串是否以某个前缀开头end_with?
:判断字符串是否以某个后缀结尾include?
:判断字符串是否包含某个子串sub
和 gsub
:替换子串split
:拆分字符串为数组你可以在 Ruby 文档 中查看完整的字符串处理方法列表。