javascript - 在希伯来语中搜索希伯来语悬音标记

标签 javascript unicode hebrew

我正在尝试搜索希伯来语悬音标记 etnachta , u-0591 在 unicode 中通过 JavaScript。我输入了以下代码,即使它在那里,我的搜索结果也是错误的。有什么我可以做的不同的事情来让它发挥作用吗?

const verse = ['וַיֹּ֨אמֶר אַבְרָ֜ם אֶל־ל֗וֹט אַל־נָ֨א תְהִ֤י מְרִיבָה֙ בֵּינִ֣י וּבֵינֶ֔יךָ וּבֵ֥ין רֹעַ֖י וּבֵ֣ין רֹעֶ֑יךָ כִּֽי־אֲנָשִׁ֥ים אַחִ֖ים אֲנָֽחְנוּ'];
if (verse.includes(/^\u0591/)) {
  console.log(true);
} else {
  console.log(false);
}

可以看到符号在哪里here (创世记 13:8)。

我什至用过JavaScript escapes结果是:

'\u05D5\u05B7\u05D9\u05BC\u05B9\u05A8\u05D0\u05DE\u05B6\u05E8 \u05D0\u05B7\u05D1\u05B0\u05E8\u05B8\u059C\u05DD \u05D0\u05B6\u05DC\u05BE\u05DC\u0597\u05D5\u05B9\u05D8 \u05D0\u05B7\u05DC\u05BE\u05E0\u05B8\u05A8\u05D0 \u05EA\u05B0\u05D4\u05B4\u05A4\u05D9 \u05DE\u05B0\u05E8\u05B4\u05D9\u05D1\u05B8\u05D4\u0599 \u05D1\u05BC\u05B5\u05D9\u05E0\u05B4\u05A3\u05D9 \u05D5\u05BC\u05D1\u05B5\u05D9\u05E0\u05B6\u0594\u05D9\u05DA\u05B8 \u05D5\u05BC\u05D1\u05B5\u05A5\u05D9\u05DF \u05E8\u05B9\u05E2\u05B7\u0596\u05D9 \u05D5\u05BC\u05D1\u05B5\u05A3\u05D9\u05DF \u05E8\u05B9\u05E2\u05B6\u0591\u05D9\u05DA\u05B8 \u05DB\u05BC\u05B4\u05BD\u05D9\u05BE\u05D0\u05B2\u05E0\u05B8\u05E9\u05C1\u05B4\u05A5\u05D9\u05DD \u05D0\u05B7\u05D7\u05B4\u0596\u05D9\u05DD \u05D0\u05B2\u05E0\u05B8\u05BD\u05D7\u05B0\u05E0\u05D5\u05BC\u05C3'

最佳答案

您的问题与希伯来语或 unicode 字符无关,而与您的搜索方式有关。

可能是因为您正试图在字符串的数组 中找到正则表达式匹配项。如果是这样,则搜索不正确。要在数组内搜索正则表达式,Array.include 不是您的 friend 。您将需要使用类似 Array.findIndex()Array.filter()

的方法进行迭代
const verse = ['וַיֹּ֨אמֶר אַבְרָ֜ם אֶל־ל֗וֹט אַחִ֖ים אֲנָֽחְנוּ'];  
if (verse.findIndex( v => v.search(/^\u0591/) ) != -1) ...

如果你想用正则表达式匹配一个简单的字符串,你需要删除你的字符串周围的 [] 并使用 String.search()

 const verse = 'וַיֹּ֨אמֶר אַבְרָ֜ם אֶל־ל֗וֹט אַחִ֖ים אֲנָֽחְנוּ';  
 if (verse.search(/^\u0591/)) ...

最后,如果您只想在字符串中找到 \u0591,您可以简单地使用 String.includes()

const verse = 'וַיֹּ֨אמֶר אַבְרָ֜ם אֶל־ל֗וֹט אַחִ֖ים אֲנָֽחְנוּ';  
if (verse.includes('\u0591')) ...

关于javascript - 在希伯来语中搜索希伯来语悬音标记,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50313827/

相关文章:

javascript - iOS Safari - 禁用捏合缩放选项

ruby - 转换已经用 UTF-8 编码的 ruby​​ 字符串中的 unicode 字符

asp.net-identity - 在 asp.net C# 身份中创建用户不适用于希伯来语用户名

javascript - 属性值未获取

javascript - 使用 DatePicker(仅月日,无年份)、Moment.js 和 JSON 来填充事件或报价

javascript - JS Canvas 运动动画循环

c - c中的utf8字符串和malloc

django HttpResponse 和 unicode

python - Python 中从右到左的语言

读取 UTF-8 文本文件(希伯来语)在 RStudio 控制台中显示乱码,在 RGUI 中显示正常