Dor*_*rad 3 javascript regex unicode hebrew
我有这里描述的确切问题:
一直在努力去除niqqud(用于表示元音的变音符号或区分希伯来字母的字母的替代发音).我有这个变量:sample1 < - "הֻסְמַק"
我找不到有效的方法来删除字母下面的标志.
但在我的情况下,我必须在JavaScript中执行此操作.
你的正则表达式只是一个小问题.请尝试以下方法:
const input = "???????";
console.log(input)
console.log(input.replace(/[\u0591-\u05C7]/g, ''));
/*
$ node index.js
???????
????
*/
Run Code Online (Sandbox Code Playgroud)
小智 5
nj_\xe2\x80\x99s 的答案很棒。
\n只是补充一点(因为我没有\xe2\x80\x99t有足够的声誉点来直接发表评论)-
\n[\\u0591-\\u05C7]可能是太宽泛了。请参阅此处的相关表格:https ://en.wikipedia.org/wiki/Unicode_and_HTML_for_the_Hebrew_alphabet#Compact_table
行059x和05AX代表 t\'amim(重音/悬念标记)。\nNiqud 本身位于行05Bx和中05Cx。
正如 Avraham 评论的那样,如果两个单词由 makaf ( ) 连接,那么您可能会遇到问题,05BE然后删除它,您最终会得到连续的单词。
如果您只想删除 t\xe2\x80\x99amim 但保留 nikud,请使用/[\\u0591-\\u05AF]/g. 如果你想避免 Avraham 提出的问题,你有 2 个选择 - 要么保留 maqaf,要么用破折号替换它:
//keep the original makafim\nconst input = "\xd7\x9b\xd6\xbc\xd6\xb4\xd7\x99\xd6\xbe\xd7\x98\xd7\x95\xd6\xb9\xd7\x91"\nconsole.log(input)\nconsole.log(input.replace(/([\\u05B0-\\u05BD]|[\\u05BF-\\u05C7])/g,""));\n\n//replace makafim with dashes\nconsole.log(input.replace(/\\u05BE/g,"-").replace(/[\\u05B0-\\u05C7]/g,""))\n\n/*\n$ node index.js\n\xd7\x9b\xd6\xbc\xd6\xb4\xd7\x99\xd6\xbe\xd7\x98\xd6\xbd\xd7\x95\xd6\xb9\xd7\x91\n\xd7\x9b\xd7\x99\xd6\xbe\xd7\x98\xd7\x95\xd7\x91\n\xd7\x9b\xd7\x99-\xd7\x98\xd7\x95\xd7\x91\n*/\nRun Code Online (Sandbox Code Playgroud)\n
| 归档时间: |
|
| 查看次数: |
394 次 |
| 最近记录: |