파이썬 | 주어진 문자열에서 단어 추출

| | | | | | | | | | | | | | | | | | |

방법 # 1: split() 사용
split 함수를 사용하여 문자열을 단어 목록으로 분할할 수 있으며 이것이 가장 일반적입니다. 누군가가 이 특정 작업을 완료하려는 경우 권장되는 방법입니다. 그러나 단점은 문자열에 구두점이 포함된 경우 작동하지 않는다는 것입니다.


# Python3 데모 코드 < br> # 문자열에서 단어 추출
# split() 사용


# 초기화 문자열

test_string = "Geeksforgeeks는 최고의 컴퓨터 과학 포털입니다."


# 원본 줄 인쇄

인쇄 ( "원래 문자열은 다음과 같습니다." + test_string)


# split() 사용
# 문자열에서 단어 추출

r es <코드 클래스 = "키워드"> = <코드 클래스 = "일반"> test_string.split ()


<코드 클래스 = " comment"> # 결과 인쇄

인쇄 ( "단어 목록은 다음과 같습니다." + str (res) )

종료:

원래 문자열은 다음과 같습니다. Geeksforgeeks is best Computer Science Portal
The 단어 목록은 다음과 같습니다. [`Geeksforgeeks`,` is`, `best`, `Computer`, `Science`, `Portal`]

방법 # 2: regex (findall ())
위에서 설명한 것처럼 모든 특수 문자와 구두점이 포함된 경우 tr 분할을 사용하여 문자열에서 단어를 검색하는 기존 방법은 실패할 수 있으며 따라서 이 작업을 수행하려면 정규식이 필요합니다. findall 함수는 구두점을 무시하고 문자열을 필터링하고 단어를 추출한 후 목록을 반환합니다.


# Python3 데모 code
# 문자열에서 단어 추출
# 정규 표현식 사용(findall())

가져오기 다시


# 초기화 문자열

test_string = "Geeksforgeeks , 최고 @ # Computer Science Portal입니다. !!!"


# 원본 줄 인쇄

인쇄 ( "원래 문자열은 다음과 같습니다. " + test_string)


# 정규 표현식 사용(findall())
# 문자열에서 단어 추출

res = re.findall (r `w +` , test_string)


# 결과 인쇄

인쇄 ( "단어 목록은 다음과 같습니다." + str <코드 클래스 = "일반"> (res))

출력:

원래 문자열은 다음과 같습니다. Geeksforgeeks, is best @ # Computer Science Portal. !!!
단어 목록은 다음과 같습니다. [`Geeksforgeeks`, `is`, `best`, `Computer `,` Science `,` Portal `]

방법 #3: 정규식() + string.punctuation 사용
이 방법도 정규식을 사용했지만 모든 구두점 문자열 가져오기 기능을 사용하여 모든 구두점을 무시하고 필터링된 결과 문자열을 가져옵니다.
p>

# Python3 데모 코드
# 문자열에서 단어 추출 < br> # 정규식() + string.punctuation 사용

가져오기 다시

가져오기 문자열


# 문자열 초기화

test_string = " Geeksforgeeks, @ # Computer Science Portal이 최고입니다. !!! "


# 원본 문자열 인쇄

인쇄 ( " 원래 문자열은 다음과 같습니다. " + test_string)


# 정규식() + string.punctuation 사용
# 문자열에서 단어 추출

res = <코드 클래스 = "일반"> re.sub ( <코드 클래스 = "문자열"> `[` <코드 클래스 = "키워드"> + <코드 클래스 = "일반 "> 문자열.구두점 <코드 클래스 = " 키워드 "> + <코드 클래스 ="문자열 ">`] ` <코드 클래스 ="일반 ">,` `, test_string ) .split ()


# 결과 출력

인쇄 <코드 클래스 = "일반"> ( <코드 클래스 = "문자열 g"> "단어 목록은 다음과 같습니다." + str ( res))

종료:

원래 문자열은 Geeksforgeeks, is best @ # Computer Science Portal입니다. !!!
단어 목록: [`Geeksforgeeks`, `is`, `best`, `Computer`, `Science`, `Portal`]