본문 바로가기
컴퓨터관련/Python

[python]파이썬 문자열 자르기

by 빛과 어둠사이 2020. 1. 20.
728x90
반응형
SMALL

python을 이용하여 개발하다보면

문자열을 사용하는 경우가 많이 있습니다.

그리고 문자열을 사용하다보면

문자열에서 문자를 자르고 해서

확인해야 하는 경우가 있습니다.


그래서 이번에는 문자열의

총 길이를 확인하고,

문자열을 자르는 방법에 대해서

확인해보려고 합니다.


java나 다른 언어에서는

substring, left, right 등

여러 함수를 이용하여

문자열을 자르게 할 수 있습니다.


파이썬에는 별도의 함수는 없지만

더욱 간단하게 자를 수 있습니다.

이번에는 이 방법을

정리해보도록 하겠습니다.





우선 문자열 자르기 테스트를 위해

문자열을 선언해 보았습니다.



위처럼 선언을 하였습니다.

tmp_str 변수에

"hello world"라 문자열을

저장하였습니다.


#문자열 설정
tmp_str = "hello world"

위처럼 변수를 선언하였습니다.




그러면 이제 문자열의 길이,

문자의 수를 확인하는

방법을 정리해보도록 하겠습니다.


함수는 len 함수를 이용하면 됩니다.

 

len 함수를 이용하여

위처럼 코딩을 하였습니다.


#문자수 확인하기
print(len(tmp_str))

위처럼 코딩을 하고

실행을 하면

결과는 다음과 같습니다.



위처럼 "hello world"의

스페이스를 포함한

문자의 수를 가져오게 됩니다.





그러면 이제 substr, left, right 등을 하는

방법을 정리해보도록 하겠습니다.


우선 그 전에

문자열의 인덱스르

어떻게 되는지부터

보도록 하겠습니다.


문자열 인덱스는 아래와 같이 됩니다.

h가 0이 되고,

e는 1, l은 2

이런 식으로 됩니다.

그래서 스페이스는 5가 됩니다.



위처럼 됩니다.




그러면 이제 문자열을 자르는 방법을

정리해보도록 하겠습니다.




python에서는 문자열을 자를 때

문자열 변수 혹은 문자열 뒤에

대괄호([])를 붙여주고,

인데스를 입력해주면 됩니다.


문자열[시작인덱스:끝인덱스]

위처럼 하게 되면 됩니다.

그러면 시작인덱스부터 끝인덱스 전까지의

문자열을 자르게 되는 것입니다.


그리고 인덱스 숫자는

생략이 가능합니다.



이제 생략을 하는 방법을 통해

left 하는 방법을

정리해보도록 하겠습니다.


위처럼 코딩을 하면 됩니다.

그러면 0~5 까지의

문자열을 가져오게 되는 것입니다.

print(tmp_str[:5])

위처럼 코딩을 하였습니다.

그리고 실행을 하면

결과는 아래와 같습니다.



위처럼 결과가 나오게 됩니다.

5번 인덱스 문자는 스페이스인데

그 스페이스보다 앞까지,

즉, 5보다 작은 인덱스까지만 나오게 되는 것입니다.



그러면 이번에는

substring 함수와 같은

사용방법을 정리해보도록 하겠습니다.


위와 거의 동일한데,

숫자를 생략하지 않고,

인덱스 번호를 다 입력해주시면 됩니다.



위처럼 해주면 됩니다.

그러면 1번 인덱스부터

5번 인덱스 전까지의

문자를 나타내게 됩니다.

print(tmp_str[1:5])

위처럼 코딩을 하고

실행을 하면

결과는 다음과 같습니다.



위처럼 나오게 됩니다.

끝 인덱스는 같기 때문에 

끝나는 문자는 같으나,

시작 인덱스가 0이 아니라

1이기 때문에

h는 제외되고 나오게 되는 것입니다.




그러면 마지막으로 rightn 함수처럼

오른쪽부터 끝까지 나오게 하는

방법을 알아보도록 하겠습니다.


방법은 다음과 같습니다.



위처럼 해주면 됩니다.


그러면 6번 인덱스부터

끝까지 나오게 되는 것입니다.


print(tmp_str[6:])


위처럼 코딩을 하고,

실행을 하면

결과는 다음과 같습니다.



위처럼 마지막 문자까지 나와지는 것을

볼 수 있습니다.




개발을 할 때,

substring 와 같은 기능은

많이 사용하는 기능입니다.

잘 알고 계시어서

필요하실 때 사용하시면

좋을 것 같습니다.



이상으로 파이썬에서의

문자열 자르는 방법이였습니다~


728x90
반응형
LIST