Regex Найти и заменить нижний регистр верхний регистр - PullRequest
0 голосов
/ 19 мая 2018

Я ищу, чтобы найти и заменить "agoWhen" на:

"ago \n Когда"

Я могу найти на [a-z][A-Z], но как заменить наразрыв строки?

1 Ответ

0 голосов
/ 19 мая 2018

Я думаю, вы можете использовать регулярные выражения, чтобы найти шаблон, а затем применить для циклов, чтобы получить желаемый формат.

def insert_new_line(text):
    result = []
    for match in re.findall('[a-z]+[A-Z][a-z]+', text):
        for index in range(len((match))):
            if match[index].isupper():
                result.append(match[:index]+'\n' +match[index:])
    #return resresult
    return ' '.join(result)

Например;

print(insert_new_line('thisMan is not inClass'))

возвращает;

this
Man in
Class

И если вы хотите получить список всех найденных совпадений, вы можете просто заменить возвратстрока функции с;

return result

, в этом случае;

print(insert_new_line('thisMan is not inClass'))

возвращает;

['this\nMan', 'in\nClass']

Дайте мне знать, если это поможет.

...