swift 从阿拉伯语中删除变音符号

标签 swift string arabic diacritics arabic-support

我正在尝试删除阿拉伯语文本变音符号。例如,我需要将此 َ 转换为此 ب ,这是我的代码:

if (text != "") {
    for char in text! {
        print(char)
        print(char.unicodeScalars.first?.value)
        if allowed.contains("\(char)"){
            newText.append(char)
        }
    }
    self.textView.text = text!
} else {
//            TODO :
//            show an alert
    print("uhhh no way")
}

我已经尝试过这些解决方案但没有成功:

How to remove diacritics from a String in Swift?

NSString : easy way to remove UTF-8 accents from a string?

最佳答案

你可以使用正则表达式,试试这段代码

 let myString = "الْحَمْدُ لِلَّهِ رَبِّ الْعَالَمِينَ"
        let regex = try! NSRegularExpression(pattern: "[\\u064b-\\u064f\\u0650-\\u0652]", options: NSRegularExpression.Options.caseInsensitive)
        let range = NSMakeRange(0, myString.unicodeScalars.count)
        let modString = regex.stringByReplacingMatches(in: myString, options: [], range: range, withTemplate: "")
        print(modString)

Output : الحمد لله رب العالمين

关于 swift 从阿拉伯语中删除变音符号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50679443/

相关文章:

RubyInline - 比较字符串

c# - 使用正确的连字在 C# 中渲染弯曲的阿拉伯语单词

jquery - 从右到左输入字段 - Tag-it jquery UI 插件

使用分钟间隔的 Swift 4 日期选择器错误值

ios - 我试图通过协议(protocol)从不同的 UIViewController 调用一个函数,但我在委托(delegate)上得到的是 nil - 这里可能是什么情况?

java - 将 char 添加与数字一样多的次数

java - 带有阿拉伯字符的drawString-java

ios - 以编程方式设置 Storyboard ID

swift - 如何快速更改日期格式?

javascript - 从字符串中剥离一些字符