字符串字符(标记)计算不正确

时间:2015-01-31 21:07:28

标签: ios iphone xcode swift

字符为(é)或阿拉伯语(د)在字符串中计为一个,如何将其标记为字符? 它应该像(د)是一个字符而()是另一个字符。 我不想使用NSString因为我正在使用(startIndex),据我所知,NSString不支持。

谢谢

1 个答案:

答案 0 :(得分:4)

我对这方面的知识不足以确信这种方法没有一些问题,但这似乎可以满足您的需求:

let s = "éدٌ"

let separated = map(s.unicodeScalars) { Character($0) }

println(" , ".join(separated.map(toString)))

// prints "e , ́ , د , ٌ"

注意,如果您从这些分隔字符的序列中创建一个新字符串,它将重新组合它们:

println(String(separated)) // prints
// prints "éدٌ"