Jan H: Python Strings formatieren

Hallo,

ich suche gerade im Internet nach einer Möglichkeit Zeichenketten in Python nach einem bestimmten Zeichen zu durchsuchen, bzw. an bestimmten Stellen aufzusplitten. Gefunden habe ich bisher die Funktion find():

def Test():
    Blubb = "EineLangeZeichenkette+SonstNichts"
    if Blubb.find("+"):
        print("gefunden")
    else:
        print("iwie doch nicht")

find() gibt wenn ich das richtig verstanden habe die Position wieder, an der das Zeichen gefunden wurde. Bei find("+") wäre das hier ja auch richtig, wenn ich das + allerdings durch ein - ersetze, meint er immer noch es wäre was gefunden worden. Wie kann ich das beheben?

Angenommen ich möchte die Zeichenkette Blubb dort oben an dem + trennen, so dass ich zwei neue Variablen erhalte, von denen die erste den Inhalt vor dem + und die zweite den Inhalt nach dem + hat. Wie geht das? Ich finde da gerade nichts. Danke!

  1. Hi,

    Blubb = "EineLangeZeichenkette+SonstNichts"
        if Blubb.find("+"):
            print("gefunden")
        else:
            print("iwie doch nicht")

    find() gibt wenn ich das richtig verstanden habe die Position wieder, an der das Zeichen gefunden wurde. Bei find("+") wäre das hier ja auch richtig, wenn ich das + allerdings durch ein - ersetze, meint er immer noch es wäre was gefunden worden.

    Nicht „er“ meint das, sondern nur du.

    Lies bitte in der Dokumentation nach, was der Rückgabewert aussagt - insb. in Bezug auf den Fall, dass das gesuchte nicht im String vorkam.

    Angenommen ich möchte die Zeichenkette Blubb dort oben an dem + trennen, so dass ich zwei neue Variablen erhalte, von denen die erste den Inhalt vor dem + und die zweite den Inhalt nach dem + hat. Wie geht das?

    Trennen heißt auf englisch split ...

    Ich finde da gerade nichts.

    ... such, such!

    MfG ChrisB

    --
    RGB is totally confusing - I mean, at least #C0FFEE should be brown, right?
  2. Angenommen ich möchte die Zeichenkette Blubb dort oben an dem + trennen, so dass ich zwei neue Variablen erhalte, von denen die erste den Inhalt vor dem + und die zweite den Inhalt nach dem + hat. Wie geht das?

    >>> str = "eins+zwei+drei"

    >>> str.split("+")
      ['eins', 'zwei', 'drei']

    >>> str.partition("+")
      ('eins', '+', 'zwei+drei')

    >>> str.rpartition("+")
      ('eins+zwei', '+', 'drei')

    Die Dokumentation der Standardbibliothek Pythons ist recht gut. Am häufigsten braucht man wohl die Seiten Built-in functions und Built-in Types, auf letzterer findet man eben auch die Methoden, die Strings so haben.