[Swift] 文字列を改行文字で分割する

改行コードの種類に関係なく文字列を分割して処理したい時に、Swiftでは以下のようにすると思ったように分割できます。
Swift 5.2以降じゃないと動作しないので注意。

1
2
3
4
5
6
7
// splitで分割
_ = "Hello\r\nWorld\r".split(whereSeparator: \.isNewline)
// ["Hello", "World"]
 
// componentsで分割
_ = "Hello\r\nWorld\r".components(separatedBy: .newlines)
// ["Hello", "", "World", ""]

ポイント

Stringのsplit(whereSeparator:)メソッドで分割します。
components(separatedBy:)でも分割できますが、改行の部分も切り出せて全部で4つの配列になります。
splitを使う場合は改行部分は含まれず、2この配列になるので使いやすいです。

参考URL

0 件のコメント :

コメントを投稿