Unicode 字符串替换不适用于完整的变音符号阿拉伯语文本

Unicode string replace is not working with a full diacritics Arabic text

我想用空字符串替换以下阿拉伯文本,但是当我用 string.replace 函数替换它时,它没有替换它。

以下是字符串

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

来自 http://api.globalquran.com/ayah/2:1/quran-uthmani

代码

singleAyah.verse.replace('بِسْمِ ٱللَّهِ ٱلرَّحْمَٰنِ ٱلرَّحِيمِ', '');

我什至试过 unicode

singleAyah.verse.replace('\u0628\u0650\u0633\u0652\u0645\u0650 \u0671\u0644\u0644\u0651\u064e\u0647\u0650 \u0671\u0644\u0631\u0651\u064e\u062d\u0652\u0645\u064e\u0670\u0646\u0650 \u0671\u0644\u0631\u0651\u064e\u062d\u0650\u064a\u0645\u0650 \u0627\u0644\u0653\u0645\u0653', '');

还是returns回复文字。

从视觉上看,您的 2 个字符串很相似,但它们具有不同的 unicode 字符串:Fatha ـَ 和 Shada ـّ 之间的顺序是交换了位置。这对视觉效果没有影响,因为这两种情况在 Fatha 下使用 Shadda 以相同的方式呈现:ـَّ ـَّ

\u0628\u0650\u0633\u0652\u0645\u0650 \u0671\u0644\u0644 \u0651\u064e \u0647\u0650 \u0671\u0644\u0631 \u0651\u064e\u062d\u0652\u0645\u064e\u0670\u0646\u0650 \u0671\u0644\u0631 \u0651\u064e\u062d\u0650\u064a\u0645\u0650

\u0628\u0650\u0633\u0652\u0645\u0650 \u0671\u0644\u0644 \u064e\u0651\u0647\u0650 \u0671\u0644\u0631 \u064e\u0651\u062d\u0652\u0645\u064e\u0670\u0646\u0650 \u0671\u0644\u0631 \u064e\u0651\u062d\u0650\u064a\u0645\u0650