문자열을 사용할 때에는 몇 가지 메소드를 사용하여 문자열을 조작하는 것이 더 편리합니다. 일반적으로 사용되는 몇 가지 메소드를 선택하여 설명하겠습니다. 기본 메소드로는 count() 메소드, index() 메소드가 있습니다. 테스트 방법, 수정 방법, 검색 및 교체 방법의 세 가지 관점에서 기능합니다.
일반적으로 count() 메서드를 사용하여 문자열의 요소가 문자열에 나타나는 횟수를 계산합니다. 존재하지 않으면 0을 반환하고, 존재하면 존재하는 횟수를 반환합니다. 다음과 같습니다:
my_str.count(x)
my_str은 검색하려는 문자열 이름이고 x는 계산하려는 문자입니다.
다음 예를 살펴보십시오.
>>>my_str'www.dotcpp.com'>>>my_str.count('w')3>>>my_str.count('.')2>>>my_str.count('p')2>>> my_str.count('*')0
반환되는 숫자는 문자열에 해당 문자가 나타나는 횟수입니다. '*'가 존재하지 않으므로 반환 값은 0입니다.
find 메소드는 지정된 요소가 문자열에 포함되어 있는지 검색합니다. 요소가 포함되어 있으면 해당 문자가 존재하지 않으면 -1을 반환합니다.
my_str.find(x)
my_str은 검색할 문자열 이름이고 x는 우리가 찾고 있는 요소입니다.
다음 예를 살펴보십시오.
>>>my_str'www.dotcpp.com'>>>my_str.find('w')#문자 w0 찾기>>>my_str.find('p')#문자 p8 찾기>>>my_str.find( 'm')#문자 m13을 찾습니다>>>my_str.find('*')#문자 *를 찾습니다. 왜냐하면 *가 존재하지 않고 -1-1을 반환하기 때문입니다.
in 키워드를 사용하여 지정된 문자가 지정된 문자열에 존재하는지 여부를 쿼리할 수도 있습니다. 지정된 문자가 문자열에 존재하면 True를 반환하고 존재하지 않으면 False를 반환합니다.
다음 예를 살펴보십시오.
>>>my_str'www.dotcpp.com'>>>'p'inmy_strTrue>>>'w'inmy_strTrue>>>'.'inmy_strTrue>>>'*'inmy_strFalse
하지만 이 방법은 우리가 접근하려는 요소가 존재하는지 여부만 알 수 있을 뿐, 그 위치를 얻을 수는 없습니다. 학습 과정에서 이를 해결하기 위해 자신만의 방법을 선택할 수 있습니다.
index() 메서드는 find() 메서드와 유사하며, index() 메서드는 해당 문자가 처음 나타나는 인덱스 위치도 반환합니다. 그러나 검색할 수 없는 경우에는 예외가 발생합니다. 던져진 구문 형식은 다음과 같습니다.
my_str.index(x)
my_str은 검색할 문자열 이름이고 x는 찾을 요소입니다.
다음 예를 살펴보십시오.
>>>my_str='www.dotcpp.com'>>>my_str.index('w')0>>>my_str.index('o')5>>>my_str.index('*')Traceback(mostrecentcalllast ):파일<stdin>,line1,in<모듈>값 오류:하위 문자열을 찾을 수 없음
기존 요소를 찾은 후 문자열의 인덱스 위치가 반환됩니다. 마지막 '*'는 찾을 수 없기 때문에 오류를 보고합니다.
위의 세 가지 방법은 표준 문서에서 생략된 형식입니다.
my_str.count(x[,start[,end]])my_str.find(x[,start[,end]])my_str.index(x[,start[,end]])
위에서 설명할 때 괄호 안의 내용을 언급하지 않았는데, 파이썬 문서에서 ''[]''는 부분을 생략할 수 있다는 뜻이므로 이 부분은 생략해도 되지만, 우리가 사용할 때는 계속 사용할 수 있기 때문입니다, start는 인덱스의 시작 위치이고, end는 인덱스의 끝 위치이지만 end를 포함하지 않습니다.
예를 통해 표준 형식을 설명하겠습니다.
>>>my_str='www.dotcpp.com'>>>my_str.index('o',6,13)#6-12 사이의 o12 찾기>>>my_str.count('w',0,5 )# w가 0-4 사이에 존재하는 횟수를 셉니다. 3>>>my_str.find('c',3,9)#3-8 사이에서 77개 찾기
표준형식의 사용법은 복잡해 보이지만 사용하기에는 매우 편리합니다.