我有一个小问题,试着解决,但没有用。 我正在使用discord.js向频道发送消息。 它的工作很好,除了URL部分,一些URL有尾随[1],以供参考。 http...xyz.com/something/[1]这样。 我也尝试了下面的替换方法,它在fiddle中工作,但在我的代码中实现时没有。
替换方法
let string = 'https://www.tradingview.com/x/0Mf3zuVw/[1]'; // just an example
let result = string.replace('[1]', '');
console.log(result);
我这里的代码,我认为在ProxyUrl中必须做一些更改
const channel = client.channels.get(message.channel.id)
let content = `**${message.channel.parent.name}**\n${channel.name}\n${message.content}`
message.attachments.forEach(attachment => {
content += `\n ${attachment.ProxyUrl} `
})
因此,似乎必须围绕ProxyUrl做一些事情,如字符串替换等。让我知道我应该做什么更改。 再次感谢
假设您发布的替换逻辑是正确的,您可以按照如下方式将其应用于每个附件的proxyURL
:
message.attachments.forEach(attachment => {
content += `\n ${attachment.ProxyUrl.replace('[1]', '')}`;
})
如果url中包含多个[1]
,则可以使用以下命令删除所有这些[1]
:
message.attachments.forEach(attachment => {
content += `\n ${attachment.ProxyUrl.replace(/\[1\]/g, '')}`;
})
如果message.content
已经包含[1]
,则需要执行以下操作
content=content.replace(/\[1\]/g,'');
在最后。