解決したいこと
- containsメソッドで文字列に2文字以上の特定の文字が含まれているかどうか確かめたい。
- containsメソッドで、文字列を代入した変数を使って、その文字列が含まれているかどうか確かめたい。
試したこと①
playgroundにて、次のようなコードを書いてみました。
Swift
1var fruits = "apple" 2fruits.contains("a") // true
こちらはappleにaが含まれているか、というコードになり、普通に実行できます。
しかし、問題は2文字以上を使用したときです。
Swift
1var fruits = "apple" 2fruits.contains("ap") // エラー "Cannot convert value of type 'String' to expected argument type 'String.Element' (aka 'Character')"
このように、2文字以上を調べようとするとエラーが起きます。
日本語でも試しましたが同様の結果になりました。
試したこと②
①と同様にplaygroundで次のようなコードを書きました。
Swift
1var fruits = "apple" 2var element = "a" 3fruits.contains(element) // エラー "Cannot convert value of type 'String' to expected argument type 'String.Element' (aka 'Character')"
こちらは代入している文字は1文字なのに、変数を使うと①と同様のエラーが出ます。
やっていることは①の最初で試したことと同じはずです。
質問
containsで2文字以上の文字が含まれているかを調べる、そして変数を用いて調べるにはどうしたら良いのでしょうか?
さまざまなブログでcontainsの使い方について調べましたが、どの記事も①や②と同様の使い方をして普通に実行できているみたいでした。
初心者で質問・調査に至らない箇所があれば申し訳ありませんが、何卒ご回答のほどよろしくお願いします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2021/01/29 01:19