我想在包含字符串的情况下执行操作,不区分大小写,在另一个字符串中。
所以我的if语句看起来像这样:
@a = "search"
if @a ILIKE "fullSearch"
#do stuff
end
答案 0 :(得分:3)
您可以使用library(venneuler)
library(rJava)
tiff("Figure1_sWHI.tif", res=300, compression = "lzw", height=5, width=5, units="in")
v = venneuler(c(A=16, B=16, C=16, 'A&B'=4, 'A&C'=5, 'B&C'=2, 'A&B&C'=1))
v$labels <- c("Comorbidity**", "Disability*", "Frailty***")
plot(v)
text(.50,.52,"6.8%", cex=.8)
text(.50,.49,"n=13", cex=.7)
text(.47,.6,"n=2", cex=.8)
text(.47,.63,"1%", cex=.8)
text(.63,.48,"59%", cex=.8)
text(.63,.45,"n=112", cex=.8)
text(.63,.7,"33%", cex=.8)
text(.63,.67,"n=63", cex=.8)
text(.50,.25,"n=1147", cex=.8)
text(.4,.45,"n=30", cex=.8)
text(.3,.63,"n=19", cex=.8)
dev.off()
方法。所以在这种情况下:
include?
记住@var = 'Search'
if var.include? 'ear'
#action
end
方法区分大小写。因此,如果您使用include?
之类的内容,则会返回include? 'sea'
。在致电false
downcase
include?()
希望有所帮助。
答案 1 :(得分:2)
您可以使用带有i
选项的正则表达式。我认为i
不敏感。
a = "fullSearch"
a =~ /search/i
=> 4
a =~ /search/
=> nil
或者你可以将你的字符串写下来并检查它是否存在于另一个
中a = "fullSearch"
a.downcase.include?('search')
=> true
答案 2 :(得分:2)
有很多方法可以实现这一目标。这是三个:
'Foo'.downcase.include?('f') # => true
'Foo'.downcase['f'] # => "f"
在the String documentation中记录了这些内容,如果你要用Ruby编程,你需要熟悉它们。
'Foo'[/f/i] # => "F"
这是String的[]
slice
快捷方式和正则表达式的混合。我建议前两个中的一个,因为它们更快,但为了彻底,我添加了它,因为人们喜欢用正则表达式锤击打东西。 Regexp包含/f/i
的文档。
你会注意到他们会返回不同的东西。 Ruby将false
或nil
以外的任何内容视为真,AKA“真实性”,因此这三个都返回true
值,因此您可以在条件测试中使用它们。