my_str = 'fql!jiyik!com' separator = '!' result = my_str.split(separator, 1)[0] print(result) # ????️ 'fql'
Wir verwenden die Methode str.split(), um alles nach dem Zeichen zu entfernen (im Beispiel!).
str.split() Methode teilt eine Zeichenfolge mithilfe von Trennzeichen in eine Liste von Teilzeichenfolgen auf.
Diese Methode benötigt die folgenden 2 Parameter:
Trennzeichen teilt die Zeichenfolge jedes Mal in Teilzeichenfolgen auf, wenn ein Trennzeichen erscheint# 🎜🎜##🎜🎜 #
Wir setzen den Parameter maxsplit auf 1, da wir die Zeichenfolge nur einmal teilen müssen.
Dieses Beispiel entfernt alles nach dem ersten Vorkommen des Zeichens in der Zeichenfolge.
my_str = 'fql!jiyik!com' separator = '!' result_1 = my_str.split(separator, 1)[0] print(result_1) # ????️ 'fql' # ????️ ['fql', 'jiyik!com'] print(my_str.split(separator, 1))
Alles nach dem Zeichen entfernen, Trennzeichen beibehalten
my_str = 'fql!jiyik!com' # ✅ 删除字符后的所有内容,保留分隔符 separator = '!' result = my_str.split(separator, 1)[0] + separator print(result) # ????️ fql!
Der Additionsoperator + kann zum Verketten von Zeichenfolgen in Python verwendet werden.
Alles nach dem letzten Vorkommen des Zeichens löschen
my_str = 'fql!jiyik!com' separator = '!' # ✅ 删除字符最后一次出现后的所有内容 result = my_str.rsplit(separator, 1)[0] print(result) # ????️ 'fql!jiyik'
rsplit() verhält sich wie split(), außer dass es von der rechten Seite aus teilt.
str.rsplit() Methode teilt die Zeichenfolge von rechts, wenn maxsplit auf 1 gesetzt ist, wird sie nur einmal geteilt.
Entfernen Sie alles nach dem letzten Vorkommen und behalten Sie das Trennzeichen bei.
my_str = 'fql!jiyik!com' separator = '!' result = my_str.rsplit(separator, 1)[0] + separator print(result) # ????️ 'fql!jiyik!'
Verwenden Sie str.partition(), um alles nach einem Zeichen zu entfernen.
my_str = 'fql!jiyik!com' separator = '!' result = my_str.partition(separator)[0] print(result) # ????️ 'fql' result = ''.join(my_str.partition(separator)[0:2]) print(result) # ????️ 'fql!'
str.partition-Methode teilt die Zeichenfolge beim ersten Vorkommen des bereitgestellten Trennzeichens.
Diese Methode gibt ein Tupel zurück, das 3 Elemente enthält – den Teil vor dem Trennzeichen, den Teil nach dem Trennzeichen und den Teil nach dem Trennzeichen.
my_str = 'fql!jiyik!com' separator = '!' # ????️ ('fql', '!', 'jiyik!com') print(my_str.partition(separator))
Wenn das Trennzeichen nicht in der Zeichenfolge gefunden wird, gibt diese Methode ein Tupel zurück, das die Zeichenfolge enthält, gefolgt von zwei leeren Zeichenfolgen.
Wenn wir Trennzeichen in das Ergebnis einfügen müssen, verwenden Sie die Methode str.join(), um das erste und das zweite Listenelement zu verbinden.
my_str = 'fql!jiyik!com' separator = '!' result = ''.join(my_str.partition(separator)[0:2]) print(result) # ????️ 'fql!'
str.join-Methode verwendet ein iterierbares Objekt als Parameter und gibt eine Zeichenfolge zurück, die die Verkettung der Zeichenfolgen im iterierbaren Objekt darstellt.
Die Zeichenfolge, die diese Methode aufruft, wird als Trennzeichen zwischen Elementen verwendet.
Alles vor einem Zeichen in einer Zeichenfolge in Python löschen
# 🎜🎜##🎜 🎜#Verwenden Sie die Methode str.find(), um den Index des Zeichens abzurufen.
Verwenden Sie String-Slicing und setzen Sie den Startindex auf den Index des Zeichens.
Die neue Zeichenfolge enthält nicht die vorherigen Zeichen.
my_str = 'apple, banana' result = my_str[my_str.find('b'):] print(result) # ????️ banana
str.find-Methode gibt den Index des ersten Vorkommens des bereitgestellten Teilstrings in einem String zurück.
Bitte beachten Sie, dass die Methode str.find() -1 zurückgibt, wenn der Teilstring nicht im String gefunden wird.
Umgang mit dem Szenario, in dem das Zeichen nicht existiert
Wir können mit der Situation umgehen, bei der die Methode find() in der if/else-Anweisung -1 zurückgibt.
my_str = 'apple, banana' index = my_str.find('b') print(index) # ????️ 7 if index != -1: result = my_str[index:] else: result = my_str # ????️ alternatively raise an error print(result) # ????️ 'banana'
my_str = 'apple, banana' index = my_str.find('z') print(index) # ????️ -1 if index != -1: result = my_str[index:] else: result = my_str # ????️ alternatively raise an error print(result) # ????️ 'apple, banana'
Unsere else-Anweisung weist die Ergebnisvariable der gesamten Zeichenfolge zu, es kann jedoch eine Ausnahme ausgelöst werden.
my_str = 'apple, banana' index = my_str.find('z') print(index) # ????️ -1 if index != -1: result = my_str[index:] else: # ????️ this runs raise IndexError('provided character not in string')
Alles vor dem letzten Vorkommen des Zeichens löschen
Wenn wir alles vor dem letzten Vorkommen des Zeichens löschen müssen, verwenden Sie die Methode str.rfind().
my_str = 'apple,banana,bear' result = my_str[my_str.rfind('b'):] print(result) # ????️ 'bear'
Wenn die Zeichenfolge keine Teilzeichenfolge enthält, gibt diese Methode -1 zurück.
Wir können if/else-Anweisungen verwenden, um Situationen zu behandeln, in denen das Zeichen nicht in der Zeichenfolge vorhanden ist.
my_str = 'apple,banana,bear' index = my_str.rfind('b') if index != -1: result = my_str[index:] else: result = my_str print(result) # ????️ 'bear'
Wenn der else-Block ausgeführt wird, setzen wir die Ergebnisvariable auf den gesamten String.
Alternativ können wir den Fehler im else-Block auslösen, z. B. raise IndexError('your message here').
Wir können auch die Methode str.rsplit() verwenden, um alles vor dem letzten Vorkommen des Zeichens zu löschen.
Verwenden Sie rsplit(), um alles vor dem letzten Vorkommen eines Zeichens zu löschen.
Um alles vor dem letzten Vorkommen eines Zeichens zu löschen:
my_str = 'example.com/articles/python' result = my_str.rsplit('/', 1)[1] print(result) # ????️ 'python' # ????️ 如果你想在结果中包含这个字符 result_2 = '/' + my_str.rsplit('/', 1)[1] print(result_2) # ????️ '/python' # ????️ ['example.com/articles', 'python'] print(my_str.rsplit('/', 1))
my_str = 'one two three' print(my_str.rsplit(' ')) # ????️ ['one', 'two', 'three'] print(my_str.rsplit(' ', 1)) # ????️ ['one two', 'three']
#🎜 🎜#
请注意 ,我们为 maxsplit 参数提供了值 1,因为我们只想从右侧拆分字符串一次。
my_str = 'example.com/articles/python' result = my_str.rsplit('/', 1)[1] print(result) # ????️ 'python' # ????️ ['example.com/articles', 'python'] print(my_str.rsplit('/', 1))
最后一步是访问索引 1 处的列表元素,以获取包含指定字符最后一次出现之后的所有内容的字符串。
如果要在结果中包含该字符,请使用加法 + 运算符。
my_str = 'example.com/articles/python' result = '/' + my_str.rsplit('/', 1)[1] print(result) # ????️ '/python'
或者,我们可以使用 str.rpartition() 方法。
my_str = 'example.com/articles/python' result = my_str.rpartition('/')[2] print(result) # ????️ 'python' # ????️ ('example.com/articles', '/', 'python') print(my_str.rpartition('/'))
str.rpartition 方法在提供的分隔符的最后一次出现处拆分字符串。
该方法返回一个包含 3 个元素的元组 - 分隔符之前的部分、分隔符和分隔符之后的部分。
如果在字符串中找不到分隔符,则该方法返回一个包含两个空字符串的元组,后跟字符串本身。
如果需要在结果中包含分隔符,请使用 str.join() 方法连接第二个和第三个列表项。
my_str = 'example.com/articles/python' result = ''.join(my_str.rpartition('/')[1:]) print(result) # ????️ '/python'
str.join 方法将一个可迭代对象作为参数并返回一个字符串,该字符串是可迭代对象中字符串的串联。
调用该方法的字符串用作元素之间的分隔符。
Das obige ist der detaillierte Inhalt vonSo löschen Sie alles vor oder nach einem bestimmten Zeichen in Python. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!