Я хочу заменить ##
на <<
и >>
с чередованием. Например, abc##123##qwe##asd##
- abc<<123>>qwe<<asd>>
. Конечно, я могу читать символы один за другим, проверять их, заменять на <<
, если это даже время или >>
, если это странное время. Но в Python есть сборка стандартных функций, поэтому я задаюсь вопросом, могу ли я использовать их для сокращения моего кода.Заменить в строке чередованием
0
A
ответ
1
вы можете использовать следующее заявление изменить только пару из ##
и оставить несоответствующий ##
как это
d = "abc##123##qwe##asd"
re.sub(r'(##)(.*?)(?(1)##)', r'<<\2>>', d)
# 'abc<<123>>qwe##asd'
или вы можете сделать это
re.sub(r'(##)(.*?)(?(1)##)', r'<<\2>>', d).replace("##","<<")
# 'abc<<123>>qwe<<asd'
Смежные вопросы
- 1. заменить символы в строке
- 2. заменить символ в строке
- 3. Как заменить * (в строке
- 4. Заменить символы в строке
- 5. Заменить [] скобка в строке
- 6. Заменить подстроку в строке
- 7. Заменить буквы в строке
- 8. Заменить число в строке
- 9. Заменить значения в строке
- 10. Php заменить в строке
- 11. Заменить пространство в строке
- 12. Заменить значение в строке
- 13. Javascript заменить в строке
- 14. PHP заменить «в строке
- 15. Заменить & символ в строке
- 16. Заменить символы в строке
- 17. заменить onclick в строке
- 18. Xcode заменить в строке
- 19. заменить. с, в строке
- 20. Заменить \»в строке
- 21. Заменить фразу в строке
- 22. Заменить] [в строке JSON
- 23. Заменить в строке
- 24. заменить содержимое в строке
- 25. Заменить символ в строке
- 26. заменить маркер в строке
- 27. Javascript заменить в строке
- 28. заменить символ в строке
- 29. Perl - несколько совпадений на одной строке с чередованием
- 30. SQL заказ чередованием
're.sub (г '# # (. *?) ## ', r' <<\1>> ', s) ' –
@AvinashRaj, спасибо, я должен узнать некоторые о регулярных выражениях. – Pavel
Просто, чтобы указать, что ответ авинаша отлично подходит для случаев, когда вы знаете, что у вас есть даже номера '##' s, но не будут работать для нечетных/unm хешей. –