Swift:
部分文字列の抽出
How to: (方法)
Swiftでは、String
型からサブストリングを取り出すために、startIndex
, endIndex
, range
を使います。下記はコード例と出力です。
let text = "こんにちは世界"
let startIndex = text.index(text.startIndex, offsetBy: 5)
let endIndex = text.index(text.startIndex, offsetBy: 7)
let substring = text[startIndex...endIndex] // 世界
print(substring) // 出力: "世界"
startIndex
とendIndex
を使って範囲を指定する方法もあります。
let range = startIndex...endIndex
let substringRange = text[range] // 世界
print(substringRange) // 出力: "世界"
Deep Dive (掘り下げ)
サブストリングはSwiftの初期バージョンからありますが、安全性と効率の観点で何度か改善されてきました。NSString
から引き継いだAPIも使用可能ですが、String
型のAPIの方がSwiftらしく、扱いやすいです。サブストリングは元の文字列のメモリを共有するため、大きな文字列から小さなサブストリングを取り出す際もメモリ効率が良いです。ただし、サブストリングは長時間保持するには向かないため、必要があればString
に変換することを忘れずに。
See Also (関連する情報)
以上がサブストリングの基本的な取り扱い方です。適切に使用すれば、プログラムの柔軟性と効率が上がります。