Belirli bir sistemden bir günlük içeren bir çok büyük bir dizem var
Yalnızca <status>
ile başlayan ve </status>
ile biten parçayı istiyorum.
RegEx ifadesinin iyi bir yol olduğunu duydum, ancak bunu nasıl kullanacağımı gerçekten bilmiyorum.
Herhangi bir fikrin var mı?İki dizenin içine bir alt dizgi alın
cevap
s = "Hello I am a very long string <status>I've got a lovely bunch of coconuts</status> here they are standing in a row"
excerpt = s.partition("<status>")[2].rpartition("</status>")[0]
print excerpt
Sonuç:
I've got a lovely bunch of coconuts
<status>
ve </status>
yalnızca bir oluşum varsa, o zaman string_name[string_name.index("<status>") + 8: string_name.index("</status>"]
kullanabilirsiniz.
s = "test<status>test2</status>"
print s[s.index("<status>") + 8: s.index("</status>"]
Çıktı:
test2
Eğer regex denemek isterseniz, buraya bir yolu şudur:
import re
regex = re.compile(r"\<status\>(.*?)\</status\>", re.IGNORECASE)
s = """This is some long random text <status>This is the first status block</status>
and some more text <status>and another block</status>
and yet more <status>This is the last status block</status>"""
print(re.findall(regex, s))
verimleri
['This is the first status block', 'and another block', 'This is the last status block']
Bu yöntemin en önemli avantajı, bir çizgi üzerinde tüm<status>...</status>
blok değil, sadece ilk özler olmasıdır. Üç tırnak işaretli dizeler için, <status>
ve </status>
'un aynı satırda olması gerektiğini unutmayın.
- 1. Dize içindeki alt dizgi
- 2. Dizenin sonunda dizeyle doğru dizgi birleştirmek nasıl?
- 3. Başka bir dizenin içinde parantez içeren bir dizgi bulun
- 4. Şaşırtıcı bir dizgi birleştirme
- 5. Bir dizenin
- 6. Applescript: bir dizenin boş dizgi içerip içermediğini kontrol edin.
- 7. Array, eksiksiz bir alt dizgi içeriyor
- 8. SQLite'de bir alt dizgi nasıl aranır?
- 9. C++ dilinde bir alt dizgi için std :: string'i nasıl ararsınız?
- 10. Belirli bir alt dizenin tüm indekslerini döndürme
- 11. IndexOf ve lastIndexOf ile ilgili sorunlar Alt dizede - Dizenin URL'sinin bir kısmını alın
- 12. Haskell bir alt liste alın
- 13. Bir değişkeni Python'daki tek tırnak içine alın
- 14. Bir dizenin belirli bir alt dizeyi içerip içermediğini nasıl kontrol edebilirim?
- 15. PostgreSQL'de bir dizedeki bir alt dizenin yineleme sayısını sayma
- 16. İki kez bir istek alın.
- 17. en uzun ortak alt dizgi sorunu
- 18. Kesin (alt dizgi değil) Elasticsearch içinde eşleşiyor
- 19. en uzun palindromik alt dizgi özyinelemeli çözüm
- 20. Bir alt dizgi aksama duyarsız için bir dize arama
- 21. Belirli bir alt dizgi olmayan bir öğeyle eşleşecek şekilde regex
- 22. TSQL - İki tablodan toplamı veya alt randevuyu alın
- 23. alt sınıfının adı alın
- 24. Python'da bir dizenin sonundan bir alt dizeyi nasıl kaldırırım?
- 25. Bir bash kabuk betiği değişkeninde bir alt dizenin bulunması
- 26. Belirli bir alt dizgi bulunduğunda değişkeni değiştirin (for döngüsü için)
- 27. Devralınan verilerle birlikte data.table içine alın.
- 28. İki dizenin Javascript'te benzer olup olmadığını belirleme?
- 29. Tüm bir alt dizenin oluşumları ve konumlarını bul
- 30. Bir dizenin kapsüllenmiş bölümlerini ayırma/tanımlama C# (alt dizeleri belirleme)
Durumdaki metinde ne yapmak istersiniz? – Sarcoma
@sarcoma Kişisel kullanım için içine rastgele bir çizgi yazdırmak istiyorum –
Sorunuzu bunu yansıtmak için güncellemelisiniz. – Sarcoma