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

标签 javascript string replace arabic

我想用空字符串替换以下阿拉伯文本,但是当我使用 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', '');

它仍然返回文本。

最佳答案

从视觉上看,您的 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

关于javascript - Unicode 字符串替换不适用于完整的变音符号阿拉伯文本,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37078050/

相关文章:

javascript - 查找字符串中缺失的字母 Javascript

C - 在读 CTRL+Z 之前如何阅读短语?

Python:将字符串列表转换为 boolean 值,其中 boolean 值以字符串形式存在

java - 访问字符串中超过 2^31 个字符的字符

java - 替换正则表达式出现的地方

python - 在 Pandas 中,如何用数据帧的另一个子集替换数据帧的一个子集?

javascript - 我只想打印来自 HTML/JS 页面的特定 div 内容和电子邮件结果?

javascript - jQuery 下拉菜单在 IE 和 Webkit 中的行为不同

javascript - 如何用js模拟按键

python - 为什么python中的字符串拼接顺序对速度影响很大?