Python/Hello Python

08. 문자열 다루기2

nahhhh03 2020. 4. 19. 20:02

일반적인 문자열 함수를 사용해서 더 테스트 해본다. 테스트 대상은 마가렛 카벤디쉬, 뉴캐슬 공작부인의

불멸의 시 'What Is Liquid'의 텍스트를 포함하는 문자열이다.


먼저 처음 13자를 출력해본다(오프셋 0에서 12).



(스페이스와 줄바꿈을 포함해서 이 시는 몇 글자로 되어 있을까?)


이 시는 All로 시작하는지?



이 시는 That's all, folks! 로 끝나는지?



이 시에서 첫 번재로 the가 나오는 오프셋은?


마지막으로 the가 나오는 오프셋은?



세 글자 the가 몇 번 나오는지


이 시는 글자와 숫자로만 이루어져 있는지?(아니, 시에 구두점 문자도 포함되어 있다.)




대소문자와 배치

테스트할 문자열은 다음과 같음.


양 끝에서 . 시퀀스 삭제



# Note 

문자열은 불변하기 때문에 어느 예제에서도 setup 문자열을 바꿀 수 없다. 단지 값을 설정하고, 

함수를 수행한 뒤, 새로운 문자열로 결과를 반환한다.



첫 번째 단어를 대문자로 만든다.


모든 단어의 첫 글자를 대 문자로 만든다.


글자를 모두 대문자로 만든다.


글자를 모두 소문자로 만든다.


대문자는 소문자로, 소문자는 대문자로 만든다




문자열을 정렬(alignment)함수를 살펴본다.

문자열을 지정한 공간에서 중앙에 배치


문자열을 왼쪽에 배치



문잗열을 오른쪽에 배치





대체하기 : replace()

문자열의 일부를 대체하기 위해서는 replace() 함수를 사용한다. 인자로 바꿀 문자열, 대체할 새 문자열, 바꿀 문자열에

대한 횟술르 입력한다. 마지막 인자를 생략하면 모든 인스턴스를 바꾼다. 다음 예제는 지정한 문자열과

일치하는 문자열을 찾아서 새로운 문자열로 대체한다.


100회까지 바꾼다.




대체하고 싶은 정확한 문자열을 안다면 replace() 함수가 적합하다. 그러나 주의해야 할 사항이 있다.

위 두번째 예제처럼 한 문자 문자열 'a'를 두 문자 문자열 'a '(a 다음에 스페이스)로 대체할 때는 다른 단어의 

중간 들어 있는 'a'도 바뀔 수 있다는 점을 주의해야 한다.




대체하고 싶은 문자열이 전체 단어인지, 한 단어의 시작된 일부인지 등의 특수한 조건만 있다면

정규표현식(regular expression)을 사용하면 된다.