Как заменить / удалить строку в Python - PullRequest
1 голос
/ 03 ноября 2019

как я могу заменить / удалить часть строки, как это

string = '{DDBF1F} this is my string {DEBC1F}'
#{DDBF1F} the code between Parentheses is random, I only know it is made out of 6 characters

вывод должен быть

this is my string

Я пробовал это, я знаю, что это не работает, но я попробовал: 3

string = '{DDBF1F} Hello {DEBC1F}'
string.replace(f'{%s%s%s%s%s%s}', 'abc')
print(string)

Ответы [ 3 ]

4 голосов
/ 03 ноября 2019

Используйте библиотеку re для замены регулярных выражений, например:

import re

text = '{DDBF1F} Hello {DEBC1F}'
result = re.sub(r"(\s?\{[A-F0-9]{6}\}\s?)", "", text)
print(result)
3 голосов
/ 03 ноября 2019

Если длина строк в скобках фиксирована, вы можете использовать нарезку для получения внутренней подстроки:

>>> string = '{DDBF1F} this is my string {DEBC1F}'
>>> string[8:-8]
' this is my string '

(string[9:-9], если вы хотите удалить окружающие пробелы)

Если жесткое кодирование индексов кажется плохим, их можно получить с помощью str.index (если вы можете быть уверены, что строка не будет содержать встроенный '}'):

>>> start = string.index('}')
>>> start
7
>>> end = string.index('{', start)
>>> end
27
>>> string[start+1:end]
' this is my string '
0 голосов
/ 03 ноября 2019

Этот код работает

string = '{DDBF1F} this is my string {DEBC1F}' st=string.split(' ') new_str='' for i in st: if i.startswith('{') and i.endswith('}'): pass else: new_str=new_str+" "+ i print(new_str)

...