javascript - 在希伯来语中搜索希伯来语的音标
问题描述
我正在尝试通过 JavaScript 在 unicode 中搜索希伯来语 cantillation mark etnachta, u-0591 。我输入了以下代码,即使它在那里,我的搜索结果也是错误的。有什么我可以做不同的事情来让它发挥作用吗?
const verse = ['וַיֹּ֨אמֶר אַבְרָ֜ם אֶל־ל֗וֹט אַל־נָ֨א תְהִ֤י מְרִיבָה֙ בֵּינִ֣י וּבֵינֶ֔יךָ וּבֵ֥ין רֹעַ֖י וּבֵ֣ין רֹעֶ֑יךָ כִּֽי־אֲנָשִׁ֥ים אַחִ֖ים אֲנָֽחְנוּ'];
if (verse.includes(/^\u0591/)) {
console.log(true);
} else {
console.log(false);
}
您可以在这里看到符号的位置(创世记 13:8)。
我什至使用了 JavaScript 转义,它想出了:
'\u05D5\u05B7\u05D9\u05BC\u05B9\u05A8\u05D0\u05DE\u05B6\u05E8\u05D0\u05B7\u05D1\u05B0\u05E8\u05B8\u059C\u05DD \u05D0\u05B6\u0\u5D0\u05B6\u05D0\u05B6\u05D0 u05D5\u05B9\u05D8\u05D0\u05B7\u05DC\u05BE\u05E0\u05B8\u05A8\u05D0\u05EA\u05B0\u05D4\u05B4\u05A4\u05D9\u05DE\u05B0\u05E8\u905B4\u05E8\u054B4\u058D u0599\u05D1\u05BC\u05B5\u05D9\u05E0\u05B4\u05A3\u05D9\u05D5\u05BC\u05D1\u05B5\u05D9\u05E0\u05B6\u0594\u05D9\u05\DA\u05B8\u505A\u05B8\u0505D5\050D u05D9\u05DF\u05E8\u05B9\u05E2\u05B7\u0596\u05D9\u05D5\u05BC\u05D1\u05B5\u05A3\u05D9\u05DF \u05E8\u05B9\u05E2\u05B6\u0591\u05\u05D9\u05\uDB u05B4\u05BD\u05D9\u05BE\u05D0\u05B2\u05E0\u05B8\u05E9\u05C1\u05B4\u05A5\u05D9\u05DD \u05D0\u05B7\u05D7\u05B4\u0596\u05D9\u0508DD\u05D9\u0502D u05BD\u05D7\u05B0\u05E0\u05D5\u05BC\u05C3'
解决方案
您的问题与希伯来语或 unicode 字符无关,而是与您搜索的方式有关。
可能是您试图在字符串数组中查找正则表达式匹配项。如果是这种情况,则搜索不正确。搜索数组中的正则表达式,Array.include
不是你的朋友。您将需要使用类似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')) ...
推荐阅读
- python - 如何使用 MagickImage/Wand 在 Python 中创建由等距边框文本框组成的图像
- reactjs - Redux Saga 在任何错误后都不起作用。它完全停止工作,需要刷新页面
- python - 如何在 discord.py 中输入命令
- javascript - 有什么办法可以缩短这段代码?目前它工作正常
- email - 获取 gmail 或任何其他电子邮件提供商的邮件数据
- excel - 当特定文本在另一列中时如何突出显示列中具有相同值的所有单元格
- javascript - 如何使用@emotion/native 有条件地设置 CSS 属性(文本装饰线和/或边框底部宽度)?
- react-native - React Navigator 5 Stack“组件”不返回任何内容
- flutter - 颤振模拟器没有运行
- c++ - 在 SFML for C++ 中使用多线程的问题