方法1: split()
を使用する
split関数を使用すると、文字列を単語のリストに分割できます。これが最も一般的です。誰かがこの特定のタスクを完了したい場合に推奨される方法。ただし、欠点は、文字列に句読点が含まれている場合は機能しないことです。
#Python3デモコード
< br> #文字列から単語を抽出
#split()を使用
#初期化文字列
test_string
=
"Geeksforgeeksは最高のコンピュータサイエンスポータルです"
#元の行を印刷します
print
(
"元の文字列は次のとおりです:"
+
test_string)
#split()を使用
#文字列から単語を抽出
r es
=
test_string.split()
#結果を出力
印刷
(
"単語のリストは次のとおりです:"
+
str
(res) )
終了:
元の文字列は次のとおりです。Geeksforgeeksは最高のコンピュータサイエンスポータルです
単語のリストは次のとおりです。[`Geeksforgeeks`、`is`、`best`、`Computer`、`Science`、`Portal`]方法#2:使用
regex(findall())
上記のように、すべての特殊文字と句読点が含まれている場合、tr分割を使用して文字列内の単語を検索する従来の方法は、失敗する可能性があります。したがって、このタスクを実行するには正規の式が必要です。findall
関数は、文字列をフィルタリングして単語を抽出した後、句読点を無視してリストを返します。
#Python3デモcode
#文字列から単語を抽出します
#通常の式を使用します(findall())
< / p>
import
re
#文字列の初期化
test_string
=
"Geeksforgeeks 、最高です@#コンピュータサイエンスポータル。!!!」
#元の行を印刷
(
"元の文字列は次のとおりです:"
+
test_string)
#通常の式を使用(findall())
#文字列から単語を抽出
res
=
re.findall(r
`w +`
、test_string)
#結果を出力
(
"単語のリストは次のとおりです:"
+
str
(res))
出力:
元の文字列は次のとおりです:Geeksforgeeks、最適です@#コンピュータサイエンスポータル。 !!!
単語のリストは次のとおりです:[`Geeksforgeeks`、`is`、`best`、`Computer`、`Science`、`Portal`]メソッド#3:regex()+string.punctuationを使用する
このメソッドも通常の式を使用しましたが、get all punctuation string関数を使用して、すべての句読点を無視し、フィルター処理された結果文字列を取得します。
#Python3デモコード
#文字列から単語を抽出
< br>#regex()+ string.punctuation
import
re
import
string
#文字列の初期化
test_string
=
"Geeksforgeeks、最高です@#ComputerSciencePortal。!!!"
#元の文字列を印刷
(
元の文字列は次のとおりです:"
+
test_string)
#regex()+ string.punctuation
を使用#文字列から単語を抽出する
res
=
re.sub(
`[`
+
string.punctuation
+
`]`
、``、test_string ).split()
#結果を出力
印刷
(
"単語のリストは次のとおりです: "
+
str
( res))
終了:
元の文字列は次のとおりです。Geeksforgeeks、最高です@#ComputerSciencePortal。 !!!
単語のリストは次のとおりです:[`Geeksforgeeks`、`is`、`best`、`Computer`、`Science`、`Portal`]