有没有办法检查Ruby是否字符串"1:/2"
包含在一个更大的字符串str
中,旁边是迭代str
的所有位置?
答案 0 :(得分:6)
您可以使用include?
方法
str = "wdadwada1:/2wwedaw"
# => "wdadwada1:/2wwedaw"
str.include? "1:/2"
# => true
答案 1 :(得分:5)
正则表达式会这样做。
s =~ /1:\/2/
如果s不包含字符串,则返回nil;如果不包含字符串,则返回整数位置。由于nil是 falsy 且整数是 truthy ,因此您可以在if
语句中使用此表达式:
if s =~ /1:\/2/
...
end
正则表达式通常由/
分隔,这就是正则表达式中的斜杠转义为\/
可以使用不同的分隔符来避免必须转义/
:
s =~ %r"1:/2"
如果需要,您可以使用此语法使用除"
之外的其他字符。
答案 2 :(得分:4)
最简单和最直接的是简单地询问字符串是否包含子字符串:
"...the string 1:/2 is contained..."['1:/2']
# => "1:/2"
!!"...the string 1:/2 is contained..."['1:/2']
# => true
The documentation有完整的独家新闻;看看最后两个例子。