복붙노트

[PYTHON] 특수 문자에 대한 문자열을 확인하는 방법?

PYTHON

특수 문자에 대한 문자열을 확인하는 방법?

밑줄 _을 제외하고 특수 문자가없는 경우에만 프로그램에서 문자열을 사용할 수 있습니다. 이것을 어떻게 확인할 수 있습니까?

유니 코드 라이브러리를 사용해 보았습니다. 그러나 특수 문자가 표준 문자로 바뀌 었습니다.

해결법

  1. ==============================

    1.string.punctuation과 같은 함수를 사용할 수 있습니다.

    string.punctuation과 같은 함수를 사용할 수 있습니다.

    import string
    invalidChars = set(string.punctuation.replace("_", ""))
    if any(char in invalidChars for char in word):
        print "Invalid"
    else:
        print "Valid"
    

    이 선으로

    invalidChars = set(string.punctuation.replace("_", ""))
    

    허용되지 않는 구두점 문자 목록을 준비 중입니다. _을 허용하려면 목록에서 _을 제거하고 새 세트를 invalidChars로 준비하고 있습니다. 조회가 더 빨리 수행되기 때문입니다.

    적어도 하나의 문자가 유효하지 않은 Chars에 있으면 모든 함수는 True를 반환합니다.

    편집 : 코멘트에서 물어, 이것은 정규 표현식 솔루션입니다. https://stackoverflow.com/a/336220/1903116에서 가져온 정규식

    word = "Welcome"
    import re
    print "Valid" if re.match("^[a-zA-Z0-9_]*$", word) else "Invalid"
    
  2. ==============================

    2."특수 문자"를 정의해야하지만 일부 문자열의 경우 다음과 같은 의미가있을 수 있습니다.

    "특수 문자"를 정의해야하지만 일부 문자열의 경우 다음과 같은 의미가있을 수 있습니다.

    import re
    if re.match(r'^\w+$', s):
        # s is good-to-go
    
  3. from https://stackoverflow.com/questions/19970532/how-to-check-a-string-for-a-special-character by cc-by-sa and MIT license