Python에서 문자열은 텍스트 데이터를 저장하고 작업하는 데 사용되는 기본 데이터 유형입니다. 문자열을 여러 문자로 분할하는 것은 Python에서 자주 발생하는 텍스트 처리 활동입니다. 프로그래밍 기술을 코딩하거나 개선하는 동안 분명히 사용하고 싶은 많은 시나리오를 접했을 것입니다. 나뉘다() Python에서는 한 문자로만 분할하지 않고 한 번에 여러 구분 기호로 분할합니다. 이번 글에서는 다양한 접근 방식을 살펴보겠습니다. 파이썬 문자열 여러 구분 기호를 분할합니다.
Input: 'GeeksForGeeks, is an-awesome! website' Output: ['GeeksForGeeks, ', 'is', 'an-awesome!', 'website'] Explanation: In This, we are splitting the multiple delimiters from the string.>
~ 안에 파이썬 , 문자열에서 여러 구분 기호를 분할하기 위해 다양한 접근 방식을 사용할 수 있습니다. 이러한 방법을 사용하면 Python의 문자열에서 개별 문자를 분할하고 조작하는 것이 간단합니다.
- 사용 분할 기능
- 교체() 사용
- 사용 다시 분할()
- re.findall() 사용하기
분할 기능을 사용하여 여러 구분 기호로 문자열 분할
Python에서는 분할()을 사용하여 문자열에서 여러 문자를 분할할 수 있습니다. 여기서는 각 구분 기호를 반복하고 다음을 사용하여 문자열을 분할합니다. 분할() 함수. 분할한 후 다음을 사용하여 결과 목록을 공백으로 결합합니다. 조인() 함수 그리고 수정된 문자열을 공백을 기준으로 분할하여 원하는 문자열 목록을 얻습니다.
파이썬3
string>=> 'GeeksForGeeks, | is an-awesome! website'> delimiters>=> [>','>,>'|'>,>';'>,>'!'>]> for> delimiter>in> delimiters:> >string>=> ' '>.join(string.split(delimiter))> result>=> string.split()> print>(result)> |
>
>
산출
['GeeksForGeeks', 'is', 'an-awesome', 'website']>
Python은 replacement()를 사용하여 여러 문자로 분할합니다.
Python에서는 다음을 사용하여 문자열에서 여러 문자를 분할할 수 있습니다. 바꾸다(). 이것은 분할을 수행하는 매우 새로운 방법입니다. 정규식을 사용하지 않으며 비효율적이지만 시도해 볼 가치가 있습니다. 분할하려는 문자를 알고 있다면 공백으로 바꾸고 다음을 사용하십시오. 나뉘다() .
파이썬3
자바의 인스턴스 오브
data>=> 'Let's_try, this now'> # printing original string> print>(>'The original string is : '> +> data)> # Using replace() and split()> # Splitting characters in String> res>=> data.replace(>'_'>,>' '>).replace(>', '>,>' '>).split()> print>(>'The list after performing split functionality : '> +> str>(res))> |
>
>
산출
The original string is : Let's_try, this now The list after performing split functionality : ['Let's', 'try', 'this', 'now']>
Re.split()을 사용하여 여러 문자로 Python 분할
Python에서는 다음을 사용하여 문자열에서 여러 문자를 분할할 수 있습니다. 재분할(). 이는 여러 문자를 한 번에 분할하는 데 가장 효율적이고 일반적으로 사용되는 방법입니다. 이를 위해 regex(정규 표현식)를 사용합니다.
파이썬3
import> re> data>=> 'techcodeview.com, is_an-awesome ! website'> print>(>'The original string is : '> +> data)> # Using re.split()> # Splitting characters in String> res>=> re.split(>', |_|-|!'>, data)> print>(>'The list after performing split functionality : '> +> str>(res))> |
>
>
산출
The original string is : techcodeview.com, is_an-awesome ! website The list after performing split functionality : ['techcodeview.com', 'is', 'an', 'awesome ', ' website']>
re.split(', |_|-|!', data) 줄은 Python에게 변수 데이터를 문자로 분할하라고 지시합니다: , 또는 _ 또는 – 또는 ! . 상징물 | 또는을 나타냅니다. 정규식에는 특수 기호로 처리되고 다른 기능을 갖는 일부 기호가 있습니다. 그러한 기호를 분할하려면 다음을 사용하여 이스케이프해야 합니다. (백슬래시)이며 특수 문자 앞뒤에 공백이 하나 필요합니다.
사용하기 전에 이스케이프해야 하는 특수 문자 목록:
. + * ? [ ^ ] $ ( ) { } = | :> 예: 이 코드에서는 resplit()을 사용하여 Python의 문자열에서 문자를 분할합니다.
파이썬3
import> re> newData1>=> 'techcodeview.com, is_an-awesome ! app + too'> # To split '+' with one espace before and after '+' symbol and use backslash> print>(re.split(>', |_|-|!|+'>, newData1))> newData2>=> 'techcodeview.com, is_an-awesome ! app+too'> # To split '+' without one espace before and after '+' symbol and use backslash> print>(re.split(>', |_|-|!|+'>, newData2))> |
>
>
산출
['techcodeview.com', ' is', 'an', 'awesome', ' app', 'too']>
메모: 정규식에 대해 더 알고 싶다면 여기를 클릭하세요 .
연도를 분기로
re.findall()을 사용하여 여러 구분 기호로 문자열 분할
Python에서는 refindall()을 사용하여 문자열에서 여러 문자를 분할할 수 있습니다. 이것은 좀 더 난해한 형태이지만 시간이 절약됩니다. 또한 위와 같은 정규식을 사용하지만 대신 .나뉘다() 메서드라는 메서드를 사용합니다. . 찾기() . 이 메서드는 일치하는 모든 인스턴스를 찾아 각 인스턴스를 목록으로 반환합니다. 이 분할 방법은 분할하려는 문자를 정확히 알지 못할 때 가장 잘 사용됩니다.
파이썬3
import> re> data>=> 'This, is - another : example?!'> print>(>'The original string is : '> +> data)> # Using re.findall()> # Splitting characters in String> res>=> re.findall(r>'[w']+'>, data)> print>(>'The list after performing split functionality : '> +> str>(res))> |
>
>
산출
The original string is : This, is - another : example?! The list after performing split functionality : ['This', 'is', 'another', 'example']>
여기서 [w']+ 키워드는 하나 이상의 알파벳 또는 밑줄(_)의 모든 인스턴스를 찾아서 목록으로 반환한다는 것을 나타냅니다. 메모: [w']+는 밑줄( _ ) 알파벳과 밑줄을 검색합니다.
예: 이 코드에서는 refindall()을 사용하여 문자열에서 문자를 분할합니다. 파이썬.
파이썬3
import> re> testData>=> 'This, is - underscored _ example?!'> print>(re.findall(r>'[w']+'>, testData))> |
>
>
산출
['This', 'is', 'underscored', '_', 'example']>
문자 클래스
정규식 치트 시트 캐릭터 설명에
| 속기 문자 클래스 | 나타냅니다 |
|---|---|
| 디 | 0부터 9까지의 숫자 |
| 디 | 0부터 9까지의 숫자가 아닌 모든 문자 |
| 안에 | 모든 문자, 숫자 또는 밑줄 문자 |
| 안에 | 문자, 숫자, 밑줄 문자가 아닌 모든 문자 |
| 에스 | 공백, 탭 또는 개행 문자 |
| 에스 | 공백, 탭 또는 개행 문자가 아닌 모든 문자 |