Python | Belirli bir dizgeden sözcükleri ayıkla

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

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

yazdır ( "Kelime listesi:" + 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)


# sonuç yazdır

yazdır ( "Kelimelerin listesi:" + str (res))

Çı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 = " Geeksforgeeks, en iyisidir @ # Bilgisayar Bilimi Portalı. !!! "


# 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 ( "Kelimelerin listesi:" + str ( res))

Çıkış:

Orijinal dize: Geeksforgeeks, en iyisi @ # Computer Science Portal. !!!
Kelimelerin listesi: [`Geeksforgeeks`, `is`, `en iyi`, `Bilgisayar`, `Bilim`, `Portal`]