Что такое код Python для дублирования слов, за которыми стоит номер 2? - PullRequest
0 голосов
/ 06 июля 2018

Например, если строка действительно 2, я хочу заменить ее на действительно-настоящую.

Я хочу, чтобы дублированные слова тоже переносились.

Можно ли избежать использования RegEx?

Большое спасибо!

Ответы [ 2 ]

0 голосов
/ 06 июля 2018

Хотя вы можете сделать это без регулярных выражений, было бы гораздо проще сделать это с помощью регулярных выражений. Код будет более читабельным и при необходимости может быть легко изменяемым

import re
s = "if the string is really2, I want to replace it"
re.sub(r'(\w+)2', r'\1-\1', s)
# 'if the string is really-really, I want to replace it'
0 голосов
/ 06 июля 2018

Для этого не нужно регулярное выражение:

>>> a = 'blah foo2 bar'
>>> ' '.join((i[:-1]+'-'+i[:-1]) if i.endswith('2') else i for i in a.split()) 
'blah foo-foo bar'
>>> 

Может быть сложнее, если вы решите включить все остальные числа и повторить слово несколько раз. Но так как вы спрашивали только о дублировании - этот работает достаточно хорошо.

...