programing

Python에서 새 줄 구분 기호를 사용하여 문자열 분할

testmans 2023. 7. 4. 21:45
반응형

Python에서 새 줄 구분 기호를 사용하여 문자열 분할

새 줄이 있는 문자열을 구분해야 합니다.어떻게 하면 달성할 수 있을까요?아래의 코드를 참조하시기 바랍니다.

입력:

data = """a,b,c
d,e,f
g,h,i
j,k,l"""

원하는 출력:

['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']

저는 다음과 같은 접근 방식을 시도해 왔습니다.

1. output = data.split('\n')
2. output = data.split('/n')
3. output = data.rstrip().split('\n')

str.splitlines 방법은 당신에게 정확히 그것을 줄 것입니다.

>>> data = """a,b,c
... d,e,f
... g,h,i
... j,k,l"""
>>> data.splitlines()
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
data = """a,b,c
d,e,f
g,h,i
j,k,l"""

print(data.split())       # ['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']

str.split기본적으로 모든 공백 문자로 분할됩니다.실제 문자열에 다른 공백 문자가 있는 경우 사용할 수 있습니다.

print(data.split("\n"))   # ['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']

또는 @Ashwini Chaudhary가 댓글에서 제안했듯이, 당신은 다음을 사용할 수 있습니다.

print(data.splitlines())

새 줄로만 분할하려면 str.splitline():

예:

>>> data = """a,b,c
... d,e,f
... g,h,i
... j,k,l"""
>>> data
'a,b,c\nd,e,f\ng,h,i\nj,k,l'
>>> data.splitlines()
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']

str.split()사용하면 사례도 작동합니다.

>>> data = """a,b,c
... d,e,f
... g,h,i
... j,k,l"""
>>> data
'a,b,c\nd,e,f\ng,h,i\nj,k,l'
>>> data.split()
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']

그러나 공백(또는 탭)이 있으면 실패합니다.

>>> data = """
... a, eqw, qwe
... v, ewr, err
... """
>>> data
'\na, eqw, qwe\nv, ewr, err\n'
>>> data.split()
['a,', 'eqw,', 'qwe', 'v,', 'ewr,', 'err']

이 목적을 위한 방법은 다음과 같습니다.

data.splitlines()
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']

여기 있습니다.

>>> data = """a,b,c
d,e,f
g,h,i
j,k,l"""
>>> data.split()  # split automatically splits through \n and space
['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']
>>> 

분할이 구분자로 문자열을 가져오기 때문에 추가 백슬래시 출력 = data.sysput\n')이 있어야 합니다.

정규식의 분할 방법도 사용할 수 있습니다.

import re

data = """a,b,c
d,e,f
g,h,i
j,k,l"""

output = re.split("\n", data)

print(output) #['a,b,c', 'd,e,f', 'g,h,i', 'j,k,l']

이것이 누군가에게 도움이 되기를 바랍니다.

언급URL : https://stackoverflow.com/questions/22042948/split-string-using-a-newline-delimiter-with-python

반응형