не может заменить более 1 подчеркивания одним подчеркиванием в строке (регулярное выражение Python) - PullRequest
0 голосов
/ 14 марта 2019
def strip_string(s):
    import re
    replaced_string = re.sub('[^\\w/]+', '_', s)
    return replaced_string
print(strip_string('h^&ell`.,  |o w/p]{+p__orld'))

1 Ответ

0 голосов
/ 14 марта 2019

Если вы хотите использовать regex для замены более чем одного _ в строке одним _, вы можете сделать

replaced_string = re.sub('[_]+', '_', s)

Полный код,

import re

def strip_string(s):

    replaced_string = re.sub('[_]+', '_', s)
    return replaced_string
print(strip_string('h^&ell`.,  |o w/p]{+p__orld'))
print(strip_string('hello___world__'))

# Output
h^&ell`.,  |o w/p]{+p_orld
hello_world_
...