Python [duplicate] işlevi olmayan ayrı dize karakteri
Dec 02 2020
Bu "+ 2x-5y + 8 + 2y" yi (karakterler arasında boşluk yok) python'da [+ 2x, -5y, + 8, + 2y] gibi ayırabilir misiniz? Nasıl?
Yanıtlar
schetefan24 Dec 02 2020 at 22:34
Gelebilecek her şey için girdinin modelini biliyorsanız, normal ifadelere bir göz atın
Sizin durumunuzda çözüm şunun gibi bir şey olabilir:
import re
a = "+2x-5y+8+2y"
print(re.findall(r"[+-]\d[xy]?", a))
re.findall(expression, input)düzenli bir ifade ve çözümlenecek bir argüman gerektirir Yukarıdaki çözümde, model [+-]\d[xy]?şunlardan oluşur:
[+-]ya + ya da - sembolü\dherhangi bir rakam,\d+bunun yerine birden çok basamak kullanın (+ burada "en az bir tekrar" anlamına gelir)[xy]?x ve y karakterlerinden biri, ancak eksik olabilir. Başka harfler de bekliyorsanız, bunları parantez içine ekleyin
Gene Simmons, KISS Çizgi Romanlarının Potansiyel Olarak "İnsanlığı Yeniden Yaratabileceğini" Söyledi
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı
Charly Reynolds Yakın Zamandaki Vokal Kord Ameliyatını Açıkladı: 'Şarkı Söylemekte Sorun Yaşıyordum'