Проблема при попытке проверить наличие символа в строке

#python-3.x #discord.py #discord.py-rewrite

#python-3.x #discord.py

Вопрос:

У меня возникла проблема при попытке найти символ в строке. Что я пытаюсь сделать, так это проверить, существует ли символ вместо пробела в имени канала.

Имя канала — это имя пользователя. Однако имена пользователей могут содержать пробелы, а Discord обозначает пробелы в названии канала как «-«, например, если имя пользователя «Joe Blogs», название канала будет «#Joe-Blogs».

Вот с чем я работаю:

 chars = set('0123456789$,-')
 if channel.name and any((c in chars) for c in channel.name) == f"{user.name.lower()}{user.discriminator}":
                await ctx.send(f"Thread channel {channel.mention} already exists.")
                return
  

Помощь приветствуется.

Ответ №1:

попробуйте использовать это для проверки имени пользователя на наличие внешних знаков

 import re
illegalcharacter = re.compile('[!@#$%^amp;*()- ={}|":;<>,?/]')
search = illegalcharacter.search(username)
if search != None:
    #username has foreign signs
  

далее для пробела, я думаю, вы могли бы сделать

 username = username.replace(' ', '-')