尝试从Discord用户名中修剪/分割空白

时间:2019-06-28 21:19:25

标签: javascript discord discord.js

好的,所以基本上我尝试这样做

if(message.guild.channels.find(c => c.name.includes(message.author.username.replace(/^\s+/g, ' ') + message.author.discriminator))) return message.channel.send(`You already have an open ticket!`)

message.guild.createChannel(message.author.username.split(" ") + message.author.discriminator, {
    type: "text",
    permissionOverwrites: [{
        id: message.author.id,
        deny: [],
        allow: ["SEND_MESSAGES", "READ_MESSAGES"]
    }]
}).then(chn => {
    chn.overwritePermissions(message.guild.id, {
        "SEND_MESSAGES": false,
        "READ_MESSAGES": false
    })
}).then(chan=> {
    message.channel.send(`Successfully created a ticket!`)
})

但是那没有用,我在这里某处可能真的很错,没有人知道我可以如何在名称中对空白进行切片/修剪,以便我可以查找票证?

1 个答案:

答案 0 :(得分:0)

要从字符串中删除所有空格,请使用以下regex /\s+/g

  • \s匹配任何空格字符(空格,换行符,其他Unicode空格)。
  • +与前面的令牌/组中的一个或多个匹配,并尽可能地匹配并返回(这称为贪婪)。
  • g标志代表 g lob,表示每次匹配。

const str = 'sloth if ul#3802';

console.log(str);
console.log(str.replace(/\s+/g, '_'));

将其付诸实践...

// User.tag === User.username + User.discriminator
const cleanTag = message.author.tag.replace(/\s+/g, '_');