#python #regex #string #substring
#питон #регулярное выражение #строка #подстрока
Вопрос:
У меня есть строка, такая как
«Это хорошая струна с некоторым размером в дюймах на конце 25,6 «»
Число перед двойными кавычками может быть числом с плавающей запятой или целым числом любой длины. Я хочу удалить все, что находится между пробелом и знаком двойной кавычки. Прямо сейчас я пытаюсь что-то сделать с функциями .find(), чтобы получить индекс знака двойной кавычки и последнего пробела, а затем удалить каждый символ между этими индексами. Есть ли какой-нибудь более разумный способ сделать это?
Ответ №1:
Мы можем попробовать использовать re.sub
здесь:
input = ' This is a nice string with some size in inches at the end 25.6" '
output = re.sub(r's d (?:.d )"s*
Шаблон регулярных s d (?:.d )"s*$
выражений говорит:
s match one or more spaces
d match one or more digits, followed by
(?:.d ) an optional decimal component
" inches unit sign
s* possible trailing whitespace, until
$ the end of the string
, '', input)
print(output)
This is a nice string with some size in inches at the end
Шаблон регулярных s d (?:.d )"s*$
выражений говорит: