假设我有特殊重音的String值:
éáüî????r?
Run Code Online (Sandbox Code Playgroud)
是否存在通用/动态方式将这些类型的字符转换/剥离为基本格式,如?
eauiamnar
Run Code Online (Sandbox Code Playgroud) 我想用Swift用英文字母替换一些字符.替换代码:
let turkish = ["?", "?", "ü", "?", "ö", "ç"]
let english = ["i", "g", "u", "s", "o", "c"]
var city = "A?ri"
var result = ""
for i in 0..<turkish.count {
var target = turkish[i]
var destination = english[i]
result = city.stringByReplacingOccurrencesOfString(target, withString: destination, options: NSStringCompareOptions.CaseInsensitiveSearch | NSStringCompareOptions.LiteralSearch, range: nil)
}
Run Code Online (Sandbox Code Playgroud)
它不会用"g"代替"ğ".奇怪的是,如果我像这样直接输入:
result = city.stringByReplacingOccurrencesOfString("?", withString: "g", options: NSStringCompareOptions.CaseInsensitiveSearch | NSStringCompareOptions.LiteralSearch, range: nil)
Run Code Online (Sandbox Code Playgroud)
它工作得很好.
当我第一次将值String赋给变量时,为什么不呢?
我正在尝试删除阿拉伯文本变音符号。例如我需要将其转换\xd9\x8e\xd8\xa8为此\xd8\xa8,这是我的代码:
if (text != "") {\n for char in text! {\n print(char)\n print(char.unicodeScalars.first?.value)\n if allowed.contains("\\(char)"){\n newText.append(char)\n }\n }\n self.textView.text = text!\n} else {\n// TODO :\n// show an alert\n print("uhhh no way")\n}\nRun Code Online (Sandbox Code Playgroud)\n\n我已经尝试过这些解决方案,但没有运气:
\n\n\n\n\n我正在开发一个iOS应用程序,我必须列出并对人名进行排序.我有一些特殊性质的问题.
我需要在/sf/answers/1060837641/上对Martin R回答进行一些澄清
您可以使用CoreFoundation CFStringTransform函数,该函数几乎可以完成列表中的所有转换.只有"đ"和"Đ"必须单独处理:
为什么这封信?这是从哪里来的?我在哪里可以找到文档?
非常感谢.
swift ×3
ios ×2
objective-c ×2
arabic ×1
diacritics ×1
ios6 ×1
nsstring ×1
string ×1
unicode ×1