2022/01/22こんにちは。今回は、Swiftで文字列をいろいろな条件で切り出して取得する方法について解説いたします。最初の1文字を取得する方法まずは文字列の最初の1文字を取得する方法について解説いたします。最初の1文字を取得するには「first」を使用します。使い方は以下の通りです。str.first「first」を使用することで、このようにとてもシンプルに取得できます。ちなみに、firstを使用して得られる値の型はOptional<Character>型なので注意してください。アンラップしてString型にして使うと良いでしょう。実際に使用すると以下のような感じになります。String型として使用するのであれば以下の例を参考にすると良いと思います。文字列の最後の1文字を取得する文字列の最後の1文字を取得する方法も簡単です。先ほどとは違い、「最後」を意味する英単語の「last」を使用することで文字列の最後の1文字を取得できます。使い方は以下の通りです。str.lastこちらも先程の「first」と同様にOptional<Character>型なのでアンラップしてString型にして使用してください。実際の使用例は以下の通りです。文字列の最初(先頭)から指定の文字数を取得するには「prefix()」メソッドを使用します。今までの1文字取得とは異なり、メソッドですので注意してください。Int」を使用します。(以下画像参照)使い方は以下の通りです(例として3文字取得しています)。str.prefix(3)こちらは戻り値の型がSubstring型なので注意してください。馴染みがないかもしれませんが、Substringという型があります。(今回は深く言及しませんが、いずれ記事にはしたいと思います。)以下は実際の使用例です。String型として使用する例も載せていますので参考にしていただけたら嬉しいです。次は先ほどとは反対に、文字列の最後(末尾)から指定の文字数を取得する方法についてです。使用するのは「suffix()」メソッドです。Int」を使用します(以下画像参照)。使い方は以下の通りです(例として3文字取得しています)。str.suffix(3)こちらも戻り値の型がSubstring型なので注意してください。以下は実際の使用例です。String型として使用する例も載せていますので参考にしてみてください。文字列の指定した位置から指定した位置までを取得する最後は、指定した位置から指定した位置まで取得する方法について解説します。こちらは今までと違ってやや面倒です(笑)。使用するのは「startIndex()」「index()」です。これらを使用して得た値をRange(範囲指定)することで、指定した位置から指定した位置の文字列を得ることができます。取得の仕方は以下の通りです。(以下の例では、"DEF"を取得する処理を記載しています。str[index2...index3]なんか急によくわからなくなりましたね(笑)。簡単にですが説明すると、そもそもSwiftでは文字列(String)の中の文字の位置をString.Indexという型で保持することができます。そのため、まず初めに「startIndex」を使用して、文字列の最初の文字の位置を取得しています。その後、「index()」メソッドを使用して、文字列の最初からoffsetで指定した文字数の位置を取得することができます。このようにして位置を保持した変数を2つ用意して、最後にRangeで範囲を指定してあげれば欲しい範囲の文字列が取得できるという感じです。(上記コードの最後の行)ちなみに、Rangeで範囲指定してなぜ文字列が取得できるのかは、「subscript」という機能があるからです。詳しくは以下を確認してください。Site(String.Index型についてはここでは深掘りはしません。)実際に使用すると以下のような感じになります。まとめSwiftで文字列を切り出すには最初の1文字を取得str.first最後の1文字を取得str.last最初から指定の文字数を取得str.prefix()最後から指定の文字数を取得str.suffix()指定した範囲の文字列を取得str[String.Index1...String.Index2]を使用する。元木皇天(サイト作成者)プライバシーポリシートップへ戻るcopyright©2020。