12
11

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.

【Swift】文字列→特定の文字で区切って配列にする方法(RubyやJSのsplit的な)。

Posted at

現在、メールアドレスをユーザに入れてもらって
そのアドレスにメールするソフトを考えているのですが…
複数宛先の際、どうすれば対応できるのでしょうか??

","で区切ったりしても無反応で…
よく調べると、MFMailComposeViewControllerにはArrayでアドレスを突っ込む必要がある?
しかし、TextFieldのアドレス(もちろんString)をどうやってArrayに??と
色々物色していて行きあたったのがこちら。

RubyやJavaScriptだとspritと呼ばれるもののようですが、
Playgroundに突っ込んでも無反応だったうえ、日本語で調べてもなにも見つからずじまい。

英語で探したらこんな素的な方法がありました。
ほぼ"split"的なものだと思います。


let separators = NSCharacterSet(charactersInString: " ,")
var fullName: String = "Last, First Middle";
var words = fullName.componentsSeparatedByCharactersInSet(separators)

注目すべきは
charactersInString: " ,"
の部分で。。。
ここに書いてある文字(この場合、半角スペースと,)のどちらをも認識。
そこで区切ってくれるのです!!

全角スペースや日本語の文字にも対応可能で


let separators = NSCharacterSet(charactersInString: "  ,")
var fullName: String = "Last, First Middle たなか";
var words = fullName.componentsSeparatedByCharactersInSet(separators)
も、きちんと配列に置き換わってくれました!

多謝:Swift: Split a string into an arrayが大変参考になりました。とくにAntonioさんに感謝です!

12
11
6

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
12
11

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?