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
Nicole Kidman, Michael Keaton ve Val Kilmer'in Batman Olarak Paylaştığı Bu 1 Çekici Özelliğe Bayıldı
Kevin Jonas'ın Kızı Alena, Doğum Günü Fotoğrafında Büyümüş Görünüyor: '9 Yaşında Gerçek Hissetmiyor'
Tom Girardi Dolandırıcılık Suçlamalarından Yargılanma Yetkisinin Belirlenmesi İçin Duruşmaya Katıldı