wyrażenia regularne

wyrażenia regularne
SZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 22
0

Hej, czy ktoś ma pomysł jak:
1.Pozbyc sie ze stringa 'By(author)'
2.Wstawic spacje pomiedzy imie i nazwisko
3. pozbyć sie wszystkiego co nastepuje po "Illustradedby" wlacznie.

Prubowałem bawić się wyrażeniami regularnymi ale coś nie dziala tak jak bym sobie tego życzył
zarowno re.search jak i re.sub

napis='By(author) BenBrooks,Illustratedby QuintonWinter'.

Spine
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 6965
1
Kopiuj
import re

napis='By(author) BenBrooks,Illustratedby QuintonWinter'
regularExpression = "By\(author\) ([A-Z]{1}.+?)([A-Z]{1}.+?),Illustratedby.+"

result = re.findall(regularExpression, napis)

for imieNazwisko in result:
	print (imieNazwisko[0] + " " + imieNazwisko[1])

https://ideone.com/8nhn1g

Wyrażenie zapisuje do tablicy wynikowej tylko "słowa" w normalnych nawiasach zawarte w wyrażeniu. Imię i nazwisko zaczynają się z dużych liter, więc na tej podstawie można je rozdzielić. Znak zapytania powoduje, że .+ nie złapie nam wszystkiego do końca tekstu, tylko będzie respektował następne elementy wyrażenia.

SZ
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 22
1

Dzięki wielkie za szybką dopowiedź. Jutro usiądę i przeanalizuje.

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.