Sequenz aus String ausschneiden

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
api
User
Beiträge: 181
Registriert: Donnerstag 7. August 2008, 21:23

Hallo zusammen,

ich möchte aus einem String einen anderen String ausschneiden. Folgende Strings sind gegeben:

"bin/regs -komponente REG FAN -HOST ingd0988 ingd0778"
"bin/regsbz -komponente REG ING FAN -HOST ingd0988 ingd0778"

Nun möchte ich jeweils die Sequenz (String), die zwischen "-komponente" und "-HOST" liegt, ausschneiden.

Als Ergebnis benötige ich also:
REG FAN
REG ING FAN

Wie löse ich das geschicktesten?
Benutzeravatar
Rebecca
User
Beiträge: 1662
Registriert: Freitag 3. Februar 2006, 12:28
Wohnort: DN, Heimat: HB
Kontaktdaten:

Code: Alles auswählen

In [1]: import re

In [2]: s = "bin/regs -komponente REG FAN -HOST ingd0988 ingd0778"

In [5]: pattern = re.compile("-komponente (.*?) -HOST")

In [6]: pattern.findall(s)
Out[6]: ['REG FAN']
Aber eventuell laesst sich fuer das Gesamtproblem eine bessere Loesung finden?
Offizielles Python-Tutorial (Deutsche Version)

Urheberrecht, Datenschutz, Informationsfreiheit: Piratenpartei
api
User
Beiträge: 181
Registriert: Donnerstag 7. August 2008, 21:23

Da sieht doch schonmal sehr gut aus... Ich werde das mal einbauen und glaube, dass du mir schon viel geholfen hast.

Danke dir... :D
Benutzeravatar
str1442
User
Beiträge: 520
Registriert: Samstag 31. Mai 2008, 21:13

Ein String ist eine Sequenz, und man kann genauso mit ihm umgehen:

Code: Alles auswählen

In [2]: a = "String"

In [3]: print a[2:-2]
ri
Antworten