как я могу заменить совпадающую строку в python - PullRequest
0 голосов
/ 06 апреля 2020

У меня есть строка = "/ One / Two / Three / Four"

Я хочу преобразовать ее в = "Four"

Я могу сделать это одной строкой в ​​perl

string =~ s/.*+\///g

Как я могу сделать это в python?

Ответы [ 3 ]

2 голосов
/ 06 апреля 2020
str_name="/One/Two/Three/Four"
str_name.split('/')[-1]

В общем, split - это безопасный способ конвертировать строку в список, основанный на некоторых регулярных выражениях. Затем мы можем вызвать последний элемент в этом списке, в данном случае это «Четыре».

Надеюсь, это поможет.

1 голос
/ 06 апреля 2020
Модуль

Python * re может обрабатывать регулярные выражения. В этом случае вы должны использовать

import re

my_str = "/One/Two/Three/Four"
new_str = re.sub(".*/", "", my_str)
# 'Four'

re.sub() - метод замены регулярных выражений. Как и ваше регулярное выражение perl, мы просто ищем любое количество символов, после которых следует sla sh, а затем заменяем его пустой строкой. Осталось только то, что после последнего sla sh, что равно 4.

0 голосов
/ 06 апреля 2020

Существует множество возможностей для решения этой проблемы. Одним из способов будет индексирование строки. Другой строковый метод может быть найден здесь

string ="/One/Two/Three/Four"
string[string.index('Four'):]

Кроме того, вы можете разделить строку по sla sh с помощью .split('/')

print(string.split('/')[-1])

Другой вариант будет быть регулярными выражениями: см. здесь

...