除了遍历所有位置之外,有没有办法在 Ruby 中检查字符串"1:/2"
是否包含在更大的字符串中?str
str
问问题
364 次
3 回答
6
您可以使用该include?
方法
str = "wdadwada1:/2wwedaw"
# => "wdadwada1:/2wwedaw"
str.include? "1:/2"
# => true
于 2012-11-12T20:31:23.290 回答
5
正则表达式会做到这一点。
s =~ /1:\/2/
如果 s 不包含字符串,这将返回 nil,如果包含,则返回整数位置。由于 nil 是falsy并且整数是truthy,因此您可以在语句中使用此表达式if
:
if s =~ /1:\/2/
...
end
正则表达式通常由 分隔/
,这就是为什么正则表达式中的斜杠被转义为\/
可以使用不同的分隔符来避免转义/
:
s =~ %r"1:/2"
"
如果需要,您可以使用此语法以外的其他字符。
于 2012-11-12T20:28:34.687 回答
4
最简单最直接的方法是简单地询问字符串是否包含子字符串:
"...the string 1:/2 is contained..."['1:/2']
# => "1:/2"
!!"...the string 1:/2 is contained..."['1:/2']
# => true
文档有完整的独家新闻;看最后两个例子。
于 2012-11-12T20:49:22.987 回答