Day: June 27, 2015

Swift:NSStringを使った文字列抽出

抽出結果がおかしい?

絵文字が入ったとき、substringFromIndexだと抽出結果がおかしくなったので、一文字ずつ抽出する方法に変更しました。pSourceの中の先頭pStringだけを除いて抽出する機能なのですが、どうなのでしょうね。ずっと前にも同じ問題が起きたように記憶します。

func CallRemoveHeadWords(pSource:String, pString:String) -> String {
 var words:String    = “”
 var inx:Int         = 0  
 for char in pSource {
  inx++  
  if inx > count(pString) { 
   words = words + String(char) 
  } else {  }             
  
return  words  
// var wTarget:Int = count(pString) 
// if wTarget > 0 && count(pSource) > wTarget {
// return (pSource as NSString).substringFromIndex(wTarget) as String
//} else { return  “” } 
}

追記12/27/2015: つい最近、解決方法がわかりました。

func CallPickupLastWords(pSource:String, pString:String) -> String {
let wInx:Int = pSource.characters.count – pString.characters.count
        if pString.characters.count > 0 && wInx >= 0 && wInx <= pSource.characters.count {
return (pSource.substringFromIndex(pSource.startIndex.advancedBy(wInx)))
}
else { return  “” }
}