LoginSignup
2
1

More than 3 years have passed since last update.

Swift:文字列を特定の文字列の前後で分割する

Last updated at Posted at 2019-09-07

文字列を特定の文字列で分割して配列にする場合は,

let str: String = "abc,def,ghi"
let array = str.components(separatedBy: ",")
// => ["abc", "def", "ghi"]

という風にすればできるが,例えば"aaaxxxbbbxxxccc"のような文字列で,先頭からみて最初に現れるxxxの前後で文字列を分割したいというような場合は余計に分割されてしまう.

こういう時はRange<String.Index>をうまく扱う.

let str: String = "aaaxxxbbbxxxccc"
let range = str.range(of:"xxx")!
let former: String = str[str.startIndex ..< range.lowerBound].description
let latter: String = str[range.upperBound ..< str.endIndex].description
// former: "aaa", latter: "bbbxxxccc"

こんな感じ.

2
1
0

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
1