首页 > 解决方案 > 比较带和不带变音符号的阿拉伯字符

问题描述

试图比较两个阿拉伯字符串,一个有变音符号,一个没有。

بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ 和 بسم الله الرحمن الرحيم

无论如何要删除变音符号然后比较还是只比较字符并忽略变音符号?

标签: swiftstringunicode

解决方案


您可以使用以下选项compare()的字符串:.diacriticInsensitive

import Foundation

let s1 = "بِسْمِ اللَّهِ الرَّحْمَٰنِ الرَّحِيمِ"
let s2 = "بسم الله الرحمن الرحيم"

print(s1 == s2)
// false

print(s1.compare(s2, options: .diacriticInsensitive) == .orderedSame)
// true

推荐阅读