Как я могу заменить все повторяющиеся знаки препинания на одиночные знаки препинания с помощью регулярных выражений? - PullRequest
1 голос
/ 10 июля 2019

Я хочу изменить, заменить все повторяющиеся (2+) знаки препинания в тексте одним символом:

text = "-alham sedang bermain-main dan makan-makan???? @@alhamsya"

result = "-alham sedang bermain-main dan makan-makan? @alhamsya"

Вот мой код (и здесь он находится на эталонном тестере регулярных выражений ):

def duplicate_punctuation(text): 
     pattern_regex = "([?@])\\1+" 
     regex_req = re.sub(pattern_regex, "\\1", text) 
     return regex_req

Ответы [ 2 ]

1 голос
/ 10 июля 2019

изменить код для @ Emma

def duplicate_punctuation(text):
    pattern_regex = "([?@])\\1+"
    regex_req = re.sub(pattern_regex, "\\1", text)
    return regex_req

ссылочный код от LINK

0 голосов
/ 10 июля 2019

Ваше выражение работает нормально:

import re

regex = r"([?@])\1+"

test_str = "-alham sedang bermain-main dan makan-makan???? @@alhamsya"
subst = "\\1"

result = re.sub(regex, subst, test_str, 0)

if result:
    print (result)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...