Ruby 如何使用start_with忽略大写字母?

Ruby 如何使用start_with忽略大写字母?,ruby,string,Ruby,String,还有比这更好的忽略大写字母的方法吗 "Hello".start_with?("hell","Hell") #=> true 我想检查数组中的字符串元素是否以另一个忽略大写的字符串开头,如MySQL中的like%。我会这样做: 'Hello'.upcase.start_with?('HELL') 解决同样问题的另一种方法。这相当于在SQL中执行类似于“something%”的上部(列)操作。您可以将 由于0是真实的,nil是虚假的,因此可以在if子句中使用: if str =~ /^he

还有比这更好的忽略大写字母的方法吗

"Hello".start_with?("hell","Hell") #=> true

我想检查数组中的字符串元素是否以另一个忽略大写的字符串开头,如MySQL中的
like%

我会这样做:

'Hello'.upcase.start_with?('HELL')
解决同样问题的另一种方法。这相当于在SQL中执行类似于“something%”的
上部(列)操作。

您可以将

由于
0
是真实的,
nil
是虚假的,因此可以在
if
子句中使用:

if str =~ /^hell/i
  # starts with hell
end

我认为最好使用Ruby的regex匹配和ignore case标志:

'Hello'.match /^hell/i
“^”指定字符串的开头。如果没有它,它将匹配字符串中的任何“地狱”。最后一个“i”只是一个regex标志,表示与ignore case set匹配

您可以在此处找到有关Ruby Regex API的更多信息:

简单正则表达式比简单的字符串操作占用更多的CPU和内存,因此最好使用简单的字符串操作(例如,以开始)。
'Hello'.match /^hell/i