복붙노트

[PYTHON] 대소 문자 무시 문자열에서 부분 문자열을 일치시키는 방법은 무엇입니까?

PYTHON

대소 문자 무시 문자열에서 부분 문자열을 일치시키는 방법은 무엇입니까?

나는 파이썬에서 케이스 문자열 비교를 무시하고 찾고있다. 나는 다음과 같이 시도했다.

if line.find('mandy') >= 0:

그러나 무시 무시한 경우에는 성공하지 못합니다. 주어진 텍스트 파일에서 일련의 단어를 찾아야합니다. 나는 한 줄씩 파일을 읽고있다. 줄의 단어는 mandy, Mandy, MANDY 등이 될 수 있습니다 (toupper / tolower 등을 사용하고 싶지 않습니다).

나는 아래의 Perl 코드와 동일한 Python을 찾고있다.

if($line=~/^Mandy Pande:/i)

해결법

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

    1.str.lower ()를 사용하지 않으려면 regexp를 사용할 수 있습니다.

    str.lower ()를 사용하지 않으려면 regexp를 사용할 수 있습니다.

    import re
    
    if re.search('mandy', 'Mandy Pande', re.IGNORECASE):
        # is True
    
  2. ==============================

    2.다른 게시물이 있습니다. 이것을 보아라.

    다른 게시물이 있습니다. 이것을 보아라.

    BTW, 당신은 .lower () 메소드를 찾고있다.

    string1 = "hi"
    string2 = "HI"
    if string1.lower() == string2.lower():
        print "Equals!"
    else:
        print "Different!"
    
  3. ==============================

    3.

    a = "MandY"
    alow = a.lower()
    if "mandy" in alow:
        print "true"
    

    해결하다

  4. ==============================

    4.

    import re
    if re.search('(?i)Mandy Pande:', line):
        ...
    
  5. ==============================

    5.이것 좀 봐.

    이것 좀 봐.

    In [14]: re.match("mandy", "MaNdY", re.IGNORECASE)
    Out[14]: <_sre.SRE_Match object at 0x23a08b8>
    
  6. ==============================

    6.시험:

    시험:

    if haystackstr.lower().find(needlestr.lower()) != -1:
      # True
    
  7. from https://stackoverflow.com/questions/6579876/how-to-match-a-substring-in-a-string-ignoring-case by cc-by-sa and MIT license