Я хочу удалить один символ и одну цифру.
так это мой пример
text = "a ba aB 가나라다라 A AB 1 2 34 2313??!!"
def remove(x) :
m = re.sub( r"([\W\s\n\r\tㄱ-ㅎㅏ-ㅣ]+[0-9]{1})" ," " , x).strip()
return m
I try it
remove("a ba aB 가나라다라 A AB 1 2 34 2313??!!")
but my result is
'a ba aB 가나라다라 A AB 4 313??!!'
Я хочу так.
ba aB 가나다라 AB 34 2313
Как я могу это решить?





Чтобы удалить один символ и все ?, !, вы можете использовать это (Регулярное выражение101):
text = "a ba aB 가나라다라 A AB 1 2 34 2313??!!"
import re
print(re.sub(r'(?:\b\w\b|[?!]+)\s*', '', text))
Отпечатки:
ba aB 가나라다라 AB 34 2313
Обновлено:
text = "가 a ba aB 가나라다라 A AB 1 2 34 2313??!!"
import re
print(re.sub(r'(?:\b[^가\s]\b|[?!]+)\s*', '', text))
Отпечатки:
가 ba aB 가나라다라 AB 34 2313
Спасибо! много Это нормально, но я исправил ваш код, исправив его. m = re.sub(r'(?:\b[0-9a-zA-Zㄱ-ㅎㅏ-ㅣ]\b|[?!\W]+)\s*', ' ', x).strip ()
Я предполагаю, что это выражение, вероятно, сработает:
(\b[A-Za-z0-9]\b|[?!ㄱㅎㅏㅣ])
import re
test_str = "a ba aB 가나라다라 A AB 1 2 34 2313??!!"
print(re.sub(r"^\s|\s$","",re.sub(r"\s{2,}", " ", re.sub(r"(\b[A-Za-z0-9]\b|[?!])", "", test_str))))
ba aB 가나라다라 AB 34 2313
Выражение объясняется на верхней правой панели regex101.com, если вы хотите изучить/упростить/изменить его, а в эта ссылка вы можете посмотреть, как оно будет соответствовать некоторым примерам входных данных, если хотите.
Можно вопрос? if text = ""가 a ba aB 가나라다라 A AB 1 2 34 2313??!!"" Результат: " ba aB 가나라다라 AB 34 2313", но я хочу "가 ba aB 가나라다라 AB 34 2313 "