您好,我只是想问一下是否有办法删除所有从右到左的字符。我知道.replace(/\u200f/g, "")
和 .replace(/[^\x00-\x7F]/g, "")
但它们对我的排行榜并没有真正帮助,因为前者仍然没有删除 rtl 字符,而后者只删除所有非 ascii 字符,这些字符也涉及不是从左到右写入的字符。如果有可能的解决方法来替换从右到左阅读的语言中的所有字符,我将不胜感激
这是示例输入
acc.tag.replace(/\u200f/g, "")
这是示例输出 1. PersonA#1333 - 8052.7x
2. PersonB#3169 - 8035.3x
3. PersonC#7619 - 7541x
PersonD#7797 - 7529.5x.𞠔𞠔 4
或者当我这样做时 .replace(/[^\x00-\x7F]/g, "")
它输出以下(样本): 4. PersonA#1333 - 8052.7x
5. PersonB#3169 - 8035.3x
6. PersonC#7619 - 7541x
4. #4327 - 6553.4x
在上面的场景中,它将 𝐁𝐫𝟎𝐰𝐧𝐏𝟑𝐚𝐜𝐡 替换为 "",因为它由非 ASCII 字符组成,但不是 rtl 文本。
最佳答案
我认为您正在寻找这个 RegExp /[\u04c7-\u0591\u05D0-\u05EA\u05F0-\u05F4\u0600-\u06FF]/gi
.
它匹配希伯来语和阿拉伯语,不匹配表情符号或特殊的非 RTL Unicode 字符。查看正则表达式测试 here
关于javascript - 删除 discord.js 排行榜中的所有从右到左的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/69224633/