LoginSignup
55
42

More than 5 years have passed since last update.

swift4の文字列操作(Substring)メモ

Posted at

文字列のString.substringがSwift4からSubstringになったので使い方についての覚書。
他にも書き方はあると思いますが。

Swift3の記事はこちら
swift3の文字列操作(String.substring)メモ

///
/// 対象文字列
///
let str: String = "1234567890"
///
/// 先頭1文字 - 1
///
print("先頭1文字: \(String(str.prefix(1)))")
///
/// 先頭1文字以外 - 234567890
///
print("先頭1文字以外: \(String(str[str.index(after: str.startIndex)..<str.endIndex]))")
print("先頭1文字以外: \(String(str.suffix(str.characters.count - 1)))")
///
/// 末尾1文字 - 0
///
print("末尾1文字: \(String(str.suffix(1)))")
///
/// 末尾1文字以外 - 123456789
///
print("末尾1文字以外: \(String(str[str.startIndex..<str.index(before: str.endIndex)]))")
print("末尾1文字以外: \(String(str.prefix(str.characters.count - 1)))")
///
/// 先頭から?文字 - 12345
///
print("先頭から?文字: \(String(str.prefix(5)))")
///
/// 末尾から?文字 - 67890
///
print("末尾から?文字: \(String(str.suffix(5)))")
///
/// 先頭?文字以外 - 67890
///
print("先頭?文字以外: \(String(str[str.index(of: "6")!..<str.endIndex]))")
print("先頭?文字以外: \(String(str.suffix(str.characters.count - 5)))")
///
/// 末尾?文字以外 - 12345
///
print("末尾?文字以外: \(String(str[str.startIndex..<str.index(of: "6")!]))")
print("末尾?文字以外: \(String(str.prefix(str.characters.count - 5)))")
///
/// ?から?文字 - 34567
///
print("?から?文字: \(String(str[str.index(of: "3")!..<str.index(of: "8")!]))")
print("?から?文字: \(String(str[str.index(of: "3")!...str.index(of: "7")!]))")
55
42
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
55
42