2

のすべての位置を反復する以外に、文字列"1:/2"がより大きな string 内に含まれているかどうかを Ruby でチェックする方法はありますか?strstr

4

3 に答える 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はであり、整数は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

ドキュメントには完全なスクープがあります。最後の 2 つの例を見てください。

于 2012-11-12T20:49:22.987 に答える