문자열.find(부분값)
- 문자열의 왼쪽(앞)에서부터 부분값을 찾는다. 가장 처음 나온 인덱스를 리턴.
문자열.rfind(부분값)
- 문자열의 오른쪽(앞)에서부터 부분값을 찾는다. 동일.
문자열.index(부분값)
문자열.rindex(부분값)
- find, rfind 와 동일하게 진행된다.
- 단, find 는 문자열에 부분값이 존재하지 않아도 error 를 일으키지 않지만
index 는 error 를 일으킨다.
문자열.startswith(부분값)
문자열.endswith(부분값)
- 문자열에 부분값으로 시작하는지, 끝나는지 True/False 로 리턴
# pat로 끝나는 가장 긴 부분 문자열
# pat은 반드시 myString의 부분 문자열로 주어집니다.
# 대문자와 소문자를 구분합니다.
def longest_pat_ending(myString, pat):
return myString[: myString.rfind(pat)+len(pat)]
# if myString.endswith(pat): return myString
# answer = ''
# arr = myString.split(pat)
# for i in range(len(arr) - 1):
# if arr[i] == '': arr[i] = pat
# answer += arr[i]
# return answer if answer.endswith(pat) else answer + pat
'''
solution=lambda x,y:x[:x.rindex(y)+len(y)]
return myString[:len(myString) - myString[::-1].index(pat[::-1])]
answer = ''
for ch in myString:
answer += ch
if mem.endswith(pat):
return answer
'''
print(longest_pat_ending("AbCdEFG", "AbCdEFG")) # "AbCdEFG"
print(longest_pat_ending("ancdnc", "nc")) # "ancdnc"
print(longest_pat_ending("AAAAaaaa", "a")) # "AAAAaaaa"
print(longest_pat_ending("abcdefghidj", "d")) # "abcdefghid"
print(longest_pat_ending("AbCdEFG", "dE")) # "AbCdE"
print(longest_pat_ending("asdf", "a")) # "a"
print(longest_pat_ending("aasdf", "a")) # "aa"
print(longest_pat_ending("aaaaAAAA", "a")) # "aaaa"
print(longest_pat_ending("OxOOo", "Ox")) # "Ox"
https://hyunssssss.tistory.com/365
파이썬(Python) - 11.문자열 찾기(find(), rfind(), in)
●문자열 찾기 - find(), rfind() - 문자열 내부에서 특정문자가 어디에 위치하는지 찾을 때 사용한다. - find()함수는 왼쪽부터 찾고, rfind()함수는 오른쪽부터 찾는다. ex) ●in연산자 - 문자열 내부에
hyunssssss.tistory.com
https://www.w3schools.com/python/ref_string_endswith.asp
W3Schools.com
W3Schools offers free online tutorials, references and exercises in all the major languages of the web. Covering popular subjects like HTML, CSS, JavaScript, Python, SQL, Java, and many, many more.
www.w3schools.com