374 Stimmen

Wie erhält man eine Zeichenkette nach einer bestimmten Teilzeichenkette?

Wie kann ich eine Zeichenkette nach einer bestimmten Teilzeichenkette erhalten?

Ich möchte zum Beispiel die Zeichenkette nach "world" in

my_string="hello python world, I'm a beginner"

...und das ist in diesem Fall: ", I'm a beginner" )

11voto

gntskn Punkte 386

In Python 3.9 gibt es eine neue removeprefix Methode wird hinzugefügt:

>>> 'TestHook'.removeprefix('Test')
'Hook'
>>> 'BaseTestCase'.removeprefix('Test')
'BaseTestCase'

7voto

Sriram Veturi Punkte 186

Sie können das Paket namens substring . Installieren Sie einfach mit dem Befehl pip install substring . Sie können die Teilzeichenkette erhalten, indem Sie einfach die Anfangs- und Endzeichen/Indizes angeben.

Zum Beispiel:

import substring
s = substring.substringByChar("abcdefghijklmnop", startChar="d", endChar="n")
print(s)

Ausgabe:

# s = defghijklmn

6voto

Leonardo Hermoso Punkte 836

Es ist eine alte Frage, aber ich konfrontiert ein sehr gleiches Szenario, ich brauche, um eine Zeichenfolge mit als Demiliter das Wort "niedrig" das Problem für mich war, dass ich in der gleichen Zeichenfolge das Wort unter und niedriger haben.

Ich habe das Problem mit dem re-Modul folgendermaßen gelöst

import re

string = '...below...as higher prices mean lower demand to be expected. Generally, a high reading is seen as negative (or bearish), while a low reading is seen as positive (or bullish) for the Korean Won.'

# use re.split with regex to match the exact word
stringafterword = re.split('\\blow\\b',string)[-1]

print(stringafterword)
# ' reading is seen as positive (or bullish) for the Korean Won.'

# the generic code is:
re.split('\\bTHE_WORD_YOU_WANT\\b',string)[-1]

Ich hoffe, das kann jemandem helfen!

6voto

Hadij Punkte 2380

Versuchen Sie diesen allgemeinen Ansatz:

import re

my_string="hello python world , i'm a beginner"
p = re.compile("world(.*)")
print(p.findall(my_string))

# [" , i'm a beginner "]

0voto

Tim Sharapov Punkte 21

Wenn Sie es vorziehen, nur reguläre Ausdrücke in Python zu verwenden zu Bibliothek, können Sie dies mit Match.string Eigentum und Match.end() Methode der Match Objekt:

import re

my_string="hello python world, I'm a beginner"

match = re.search("world", my_string)

if match:
    print(match.string[match.end():])
    # , I'm a beginner

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X