밤하늘공작소

Python에서 문자 자르기 본문

코딩/Python

Python에서 문자 자르기

밤하늘공작소 2022. 7. 22. 09:07

python에서 문자를 잘라야 할 때가 있습니다. 이런 것은 "split"으로 할 수 있습니다. 

 

우선 이러한 코드를 적어보겠습니다. 

name = "Kim, Dong Hyun"

print(name.split(","))

 

이것은 ['Kim', ' Dong Hyun'] 이 출력됩니다. 문자열이 ", "를 기준으로 잘려서 배열에 나오게 됩니다. 

 

그래서 만약 이 뒤에 첫번째 값을 출력하게 하는 코드를 바꾸게 된다면, 성만을 출력하게 할 수 있습니다. 이를 좀더 활용해서 배열로 오는 모든 이름들의 성을 출력해보겠습니다. 

names = ["Kim, Dong Hyun", "Lee, Hyun Woo"]

for name in names:
    print(name.split(",")[0])

 

간단한 for in 문을 사용해서 ","를 기준으로 잘린 문자열에 첫 번째(0) 즉 성을 출력하는 것입니다. names에 있는 모든 값이 출력될 때까지 실행되는 것입니다. "Kim"과 "Lee"가 값으로 출력되는 것을 볼 수 있습니다. 

 


 

만약 여기에서 이름을 출력하는 코드로 바꾸기 위해서 [0]을 [1]로 바꾸면 문제가 보입니다. 

names = ["Kim, Dong Hyun", "Lee, Hyun Woo"]

for name in names:
    print(name.split(",")[1])

 

출력이 " Dong Hyun"과 " Hyun Woo" 처럼 됩니다. 앞에 스페이스이 있습니다. 이것을 "strip"이라는 함수를 사용할 수도 있지만, 문자열을 잘 보면 두 이름 모두 ", " 즉 콤마와 스페이스가 있습니다. 그렇다면 나누는 것을 "," 기준이 아니라 ", " 기준을 한다면, 스페이싱을 없앨 수 있습니다. 

names = ["Kim, Dong Hyun", "Lee, Hyun Woo"]

for name in names:
    print(name.split(", ")[1])

 

이제는 "Dong Hyun"과 "Hyun Woo"와 같이 앞에 스페이스가 없이 나오는 것을 볼 수 있습니다. 

 

이후 이것을 활용할 때 데이터의 값만 얻고 싶을 때 중간에 ":" 를 기준으로 나누거나, 이번처럼 ","를 기준으로 나누어서 그 값을 얻을 때 사용할 수 있을 것 같습니다. 

반응형

'코딩 > Python' 카테고리의 다른 글

numpy 리스트 만드는 방법  (0) 2022.10.26
Python 리스트 Numpy 리스트 차이점  (0) 2022.10.21
Python 리스트 활용 팁  (6) 2022.07.11
Python에서 포맷팅하기  (0) 2022.06.28
Python에서 문자를 숫자형으로 바꾸기  (0) 2022.06.20
Comments