2015-10-29 3 views
-3

Есть ли способ проверить все специальные символы в python, кроме как вручную вставлять их, возможно, что-то похожее на функции .isalnum или .isalpha? Я относительно новичок в кодировании, поэтому понятия не имею.Есть ли способ проверить все специальные символы?

+3

Каждый персонаж особенный по-своему. –

+0

О каких специальных персонажах вы говорите? Символы, которые можно считать «особенными», зависят от того, что вы делаете. –

+0

'import string', затем' help (string) 'и read. Есть такие вещи, как 'string.punctuation', которые могут быть тем, что вы ищете. – RobertB

ответ

1

Если предположить, что любой не алфавитно-цифровой символ считается особенным, вы можете добавить not в перед началом isalnum и вернется в случае, если имеется специальный символ:

test = "1$%a" 
print not test.isalnum() 
# returns true 
0

Вы можете определить свою собственную is_alphanumeric функцию:

from string import digits, letters 

def is_alphanumeric(mystring): 
    """ Returns true if all characters of `mystring` are either letters or digits: 
    >>> is_alphanumeric('hello wörld') 
    True 
    >>> is alphanumeric('Hello World!') 
    False 
    """ 
    return all(character in chain(digits, letters) for character in mystring) 

Если вы хотите ограничить его ASCII:

from string import digits, letters_ascii 

def is_alphanumeric_ascii(mystring): 
    """ Returns true if all characters of `mystring` are either ascii letters or digits: 
    >>> is_alphanumeric('hello wörld') 
    False 
    >>> is alphanumeric('Hello World') 
    True 
    """ 
    return all(character in chain(digits, letters_ascii) for character in mystring) 
Смежные вопросы