2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 5 years have passed since last update.

Swift3で文字列を分割(split)する方法

Last updated at Posted at 2017-05-09

使用言語とツールのバージョン情報は次のとおりです
swift3.1
Xcode 8.3.2

初心者の備忘録です。
お役に立てたら幸いです。

さっそくコメントいただきましたので修正させていただきました。

#スペース区切りの文字列の分割

import Foundation

let str = "abc def ghi"
let array = str.components(separatedBy:CharacterSet.whitespaces)
print(array[0])//"abc"
print(array[1])//"def"
print(array[2])//"ghi"

以前に他の方に書かれた記事を見ると2つ目のスペースも配列に入っているようでしたが、Swift3.1時点ではスペースは配列には入らないようになったみたいです。
また、.components以下を入力補完するとわかるようにseparatedBy:のあとはCharacterSet型というのは明白なので省略してstr.components(separatedBy: .whitspaces)でもOKです。

#カンマ区切りの文字列の分割

import Foundation

let str = "abc,def,ghi"
let array = str.components(separatedBy:",")
print(array[0])//"abc"
print(array[1])//"def"
print(array[2])//"ghi"

スペース区切りのときのseparatedBy:のあとを","ダブルクオーテーションで囲んだカンマで指定してあげるだけでできました!
たとえばスラッシュで区切った文字列を分解したいときは"/"
hogeで区切った文字を分解したいときは"hoge"separatedBy:のあとに指定すればOK。

#改行区切りの文字列の分割

import Foundation

let str = "abc\ndef\nghi"
let array = str.components(separatedBy:CharacterSet.newlines)
print(array[0])//"abc"
print(array[1])//"def"
print(array[2])//"ghi"

こちらもスペース区切りの文字列とほぼ一緒で違うのはseparatedBy:のあとの指定をCharacterSet.newlinesとするだけです。
スペース区切りのと同様にstr.components(separatedBy: .newlines)もOKです。

以上となります。ココ間違っている!もっといい方法がある!などなどなんでも指摘等いただけると嬉しいです。

2
4
2

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
4

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?