【发布时间】:2021-01-24 02:47:33
【问题描述】:
我有一个翻译机器人,最近我对其进行了修改以允许自定义表情符号(翻译器会在各处添加空格并将表情符号名称翻译为不受支持的格式)
我现在的问题是它并不总是按需要运行,我想添加一个“过滤器”来删除所有自定义表情符号和表情符号的任何空格,以删除我的正则表达式中可能遗漏的任何空格如果它没有被触发,则声明。
目前代码如下:
The Regex Editor Can Be Found Here
const regex = /<([:+\s:\s*[a-z0-9ЁёА-я_\s]+:\s*)([0-9\s]+)>/gmi;
const str = "<: Gelb: 590653333124022288><:Gelb: 590653333124022288><: Gelb: 590653333124022288> <: Gelb: 590653333124022288><: Gelb: 590653333124022288><: Gelb: 590653333124022288> <: Gelb: 590653333124022288> <: Gelb: 590653333124022288><: gelb : 590653333124022288> <: Gelb: 590653333124022288> <: Gelb: 590653333124022288><: Gelb: 590653333124022288> <: Rot : 538473333124022288> <: Gelb: 590653333124022288>"
const subst = `<:okthisisanemoji:$2>`;
console.log(str.replace(regex, subst));
(编辑,我将所有表情符号名称更改为 :okthisisanemoji: 的原因是我不必处理不和谐无法发送的翻译表情符号名称,例如不和谐无法发送带有俄语字母的表情符号)
谁能帮我修改/创建一个新的正则表达式, 删除字符“”之间的所有空格?
抱歉,如果上述解释具有误导性,让我澄清一下。删除“”之间的所有空格,但保留字符串的其余部分,否则全局删除“”。
我也曾尝试在网上寻求帮助,但也不和谐,但没有 javascript 或正则表达式可以做到这一点。我曾尝试在正则表达式中这样做,但由于我不经常使用正则表达式而失败了。
源代码现在在这里:https://github.com/Zyc0r3/RitaBot/tree/test-branchsrc/core/send.js 上面有代码。
【问题讨论】:
标签: javascript node.js regex discord discord.js