📜  ruby 获取两个字符之间的子字符串 - Ruby (1)

📅  最后修改于: 2023-12-03 14:47:09.640000             🧑  作者: Mango

Ruby 获取两个字符之间的子字符串

在 Ruby 中获取两个字符之间的子字符串非常简单。可以使用 String#[] 方法和正则表达式来实现。

使用 String#[] 方法和正则表达式

String#[] 方法可以接收一个参数或两个参数。当传递一个参数时,它将返回指定位置上的字符。当传递两个参数时,它将返回在两个位置之间的子字符串。

可以使用正则表达式作为参数来搜索子字符串并返回它。

string = "Hello, Ruby"
substring = string[/\w+, (\w+)/, 1]
puts substring # 输出 "Ruby"

以上代码中,正则表达式 /\w+, (\w+)/ 将匹配以逗号和空格分隔的两个单词,并返回第二个单词(即 Ruby)。

使用正则表达式捕获组

可以使用正则表达式的捕获组来获取子字符串,而不是使用 String#[] 方法。在正则表达式中,捕获组由括号表示。

string = "Hello, Ruby"
match = /(\w+), (\w+)/.match(string)
substring = match[2]
puts substring # 输出 "Ruby"

以上代码中,正则表达式 /\w+, (\w+)/ 匹配以逗号和空格分隔的两个单词,并将它们分别放在第一个和第二个捕获组中。MatchData 对象的 [] 方法可以用于访问捕获组。