Yöntem # 1: split()
kullanımı
Bölme işlevini kullanarak, bir dizeyi sözcük listesine bölebiliriz ve bu en yaygın olanıdır. ve birisi bu belirli görevi tamamlamak isterse önerilen yöntem. Ancak dezavantajı, dizenin noktalama işaretleri içerdiği durumlarda çalışmamasıdır.
# Python3 demo kodu
< br> # dizeden sözcükleri çıkar
# split() kullanarak
# başlatma dizesi
test_string
=
"Geeksforgeeks en iyi Bilgisayar Bilimi Portalıdır"
# orijinal satırı yazdır
print
(
"Orijinal dize:"
+
test_string)
# split () kullanarak
# dizeden sözcükleri çıkar
r es
=
test_string.split()
# yazdırma sonucu
+
str
(res) )
Çıkış:
Orijinal dize: Geeksforgeeks en iyi Bilgisayar Bilimi Portalıdır
kelime listesi: [`Geeksforgeeks`,` is`, `best`, `Computer`, `Science`, `Portal`]
Yöntem # 2: regex (findall())
Yukarıda tartışıldığı gibi, tüm özel karakterleri ve noktalama işaretlerini içeren durumlarda, tr Bölmeyi kullanarak bir dizede sözcük aramanın geleneksel yöntemi başarısız olabilir ve bu nedenle, bu görevi gerçekleştirmek için düzenli ifadeler gerektirir. findall
işlevi, dizeyi filtreleyip sözcükleri ayıkladıktan sonra noktalama işaretlerini yok sayarak bir liste döndürür.
# Python3 demosu code
# dizeden sözcükleri çıkar
# normal ifade kullanarak (findall())
içe aktar
yeniden
# başlatılıyor dize
test_string
=
"Geeksforgeeks , en iyisidir @ # Bilgisayar Bilimi Portalı. !!!"
# orijinal satırı yazdır
yazdır
(
"Orijinal dize: "
+
test_string)
# normal ifade kullanarak (findall ())
# dizeden kelime çıkar
res
=
re.findall (r
`w +`
, test_string)
(
"Kelimelerin listesi:"
+
str
Çıktı:
Orijinal dize: Geeksforgeeks, en iyisi @ # Computer Science Portal. !!!
Kelimelerin listesi: [`Geeksforgeeks`, `is`, `best`, `Co mputer`,` Science `,` Portal `]
< güçlü>Yöntem # 3: Normal ifade () + string.punctuation kullanma
Bu yöntem ayrıca normal ifadeler kullandı, ancak tüm noktalama işaretlerini al işlevi tüm noktalama işaretlerini yok saymak ve filtrelenmiş sonuç dizesini almak için kullanılır.
p>
# Python3 demo kodu
# dizeden sözcükleri ayıkla
< br> # regex () + string.punctuation kullanarak
içe aktar
yeniden
import
string
< kod sınıfı = "yorumlar"> # dize başlatılıyor
test_string
# orijinal dizeyi yazdır
yazdır
" Orijinal dize: "
+
test_string)
# regex () + string.punctuation kullanarak
# dizeden sözcük ayıklayın
res
=
re.sub (
`[`
+
string.punctuation
+
`] `
,` `, test_string ) .split ()
# yazdırma sonucu
print
+
str
( res))
Çıkış:
Orijinal dize: Geeksforgeeks, en iyisi @ # Computer Science Portal. !!!
Kelimelerin listesi: [`Geeksforgeeks`, `is`, `en iyi`, `Bilgisayar`, `Bilim`, `Portal`]