Swift

Swift:文字抽出

文字抽出の方法はすでに記載していますが、再度、整理します。

どれがいいのか良くわかりませんが、自分のケースでは、次の方法がわかりやすいように思われました。

println(“文字ハンドリング8: 1文字ずつ取り出す”)
let wdata3 = “かき\u{3099}くけ\u{3099}こ\u{3099}”
println(“文字データ=\((wdata3))”)
var wmoji:String = “”
for (R15, wchar) in enumerate(wdata3) {
wmoji += String(wchar)
}

  • var range:NSRange  = (wdata3 as NSString).rangeOfComposedCharacterSequenceAtIndex(R15)
  • println(“R15=\(R15) range.location=\(range.location) range.length=\(range.length) (wmoji as NSString).length=\((wmoji as NSString).length) wmoji=\(wmoji)”)

printlnでトレースしたとき、値は次のようになります。

文字データ=かぎくげご

  • R15=0 range.location=0 range.length=1
    (wmoji as NSString).length=1 wmoji=か
  • R15=1 range.location=1 range.length=2
    (wmoji as NSString).length=3 wmoji=かぎ
  • R15=2 range.location=1 range.length=2
    (wmoji as NSString).length=4 wmoji=かぎく
  • R15=3 range.location=3 range.length=1
    (wmoji as NSString).length=6 wmoji=かぎくげ
  • R15=4 range.location=4 range.length=2
    (wmoji as NSString).length=8 wmoji=かぎくげご

Categories: Swift, 技術