HI!
Ich habe eine Frage:
Wenn Ich einen String habe bzw. eine geöffnete Datei.
Dieser String könnte mehrzeilig sein. Und wie kann man das innere von diesem String z.B. "anfang hier das innere ende" anzeigen?
Danke im Voraus.
Alles nach "irgendwas" bis "irgendwas" p
- krisi12345
- User
- Beiträge: 205
- Registriert: Mittwoch 4. März 2009, 16:56
- Wohnort: Das schöne München
- Kontaktdaten:
[url=http://www.pc-tutos.de/Tutorials/Tutorials.htm]Wie verändert man Spiele oder Computer nach Wunsch? www.PC-Tutos.de[/url]
Ich vermute einfach mal, dass du einen Teilstring aus deinem String auschneiden willst. Wenn nicht, formulier deine Frage doch bitte mal in verständlichem deutsch
Teilstring ausschneiden geht so:

Teilstring ausschneiden geht so:
Code: Alles auswählen
>>> s = "Hello World!"
>>> s[2:5]
'llo'
- krisi12345
- User
- Beiträge: 205
- Registriert: Mittwoch 4. März 2009, 16:56
- Wohnort: Das schöne München
- Kontaktdaten:
Hmm....
Das wäre ne Möglichkeit aber kann man das auch mit "Wörtern"?
Das wäre ne Möglichkeit aber kann man das auch mit "Wörtern"?
[url=http://www.pc-tutos.de/Tutorials/Tutorials.htm]Wie verändert man Spiele oder Computer nach Wunsch? www.PC-Tutos.de[/url]
Code: Alles auswählen
>>> s.split()
['Hello', 'World!']
>>> s.split()[1] # 2.Wort des Strings
'World!'
Ansonsten formulier mal eine klare Problemstellung.
Langsam nervts...
- krisi12345
- User
- Beiträge: 205
- Registriert: Mittwoch 4. März 2009, 16:56
- Wohnort: Das schöne München
- Kontaktdaten:
Also in etwa wie in einer HTML Datei, z.B.:
Code: Alles auswählen
<title>hallo world</title>
/\
|
|
diesen Teil print'en
[url=http://www.pc-tutos.de/Tutorials/Tutorials.htm]Wie verändert man Spiele oder Computer nach Wunsch? www.PC-Tutos.de[/url]
Code: Alles auswählen
>>> s = '<title>hallo world</title>'
>>> s.lstrip('<title>').rstrip('</title>')
'hallo world'
Ansonsten geb endlich mal eine konkrete Problemstellung und nicht ein Beispiel.
- krisi12345
- User
- Beiträge: 205
- Registriert: Mittwoch 4. März 2009, 16:56
- Wohnort: Das schöne München
- Kontaktdaten:
Okay, Danke
[url=http://www.pc-tutos.de/Tutorials/Tutorials.htm]Wie verändert man Spiele oder Computer nach Wunsch? www.PC-Tutos.de[/url]
-
- User
- Beiträge: 773
- Registriert: Mittwoch 5. November 2003, 18:06
- Wohnort: Schweiz
- Kontaktdaten:
Hi
Also vergiss lstrip und rstrip für diese Aufgabe gleich wieder. Bei diesen Funktionen wird nicht ein String zum wegschneiden übergeben sondern eine Menge von Zeichen. Das heisst es werden folgende Zeichen am Anfang/Ende vom String weggelöscht: <>eilt.
Da wird also auch locker mehr weggelöscht als nur <title>.
Du könntest zum Beispiel s.find nehmen um die Position vom Start und Ende herauszufinden.
Falls es aber mehr sein soll als das, verwende wie schon gesagt ein HTML-Scraper.
Gruss
Also vergiss lstrip und rstrip für diese Aufgabe gleich wieder. Bei diesen Funktionen wird nicht ein String zum wegschneiden übergeben sondern eine Menge von Zeichen. Das heisst es werden folgende Zeichen am Anfang/Ende vom String weggelöscht: <>eilt.
Code: Alles auswählen
>>> s = '<title>title ist hallo world</title>'
>>> s.lstrip('<title>').rstrip('</title>')
' ist hallo world'
Du könntest zum Beispiel s.find nehmen um die Position vom Start und Ende herauszufinden.
Code: Alles auswählen
start_pos = s.find('<title>')+len('<title>')
end_pos = s.find('</title>', start_pos)
print s[start_pos:end_pos]
Gruss
Warum nicht so?
Stefan
Code: Alles auswählen
print re.findall(r"(?s)<title>(.*?)</title>", s)
Hallo sma
Kannst du nochmal erklären was re, r und s bedeuten?
Gruß kame
Kannst du nochmal erklären was re, r und s bedeuten?
Gruß kame
-
- User
- Beiträge: 221
- Registriert: Sonntag 1. Juni 2008, 09:08

Code: Alles auswählen
title = data.split("<title>")[1].split("</title>")[0]
Grüßle.