Я пытаюсь использовать регулярное выражение для замены некоторых проблем в некотором тексте.Подменю Regex в Python приводит к появлению символов ASCII
Строки выглядеть следующим образом:
a = "Here is a shortString with various issuesWith spacing"
Моя регулярное выражение выглядит следующим образом прямо сейчас: new_string = re.sub("[a-z][A-Z]", "\1 \2", a)
.
Это занимает те места с отсутствующими пробелами (всегда есть прописная буква после строчной буквы) и добавляет пробел.
К сожалению, результат выглядит следующим образом:
Here is a shor\x01 \x02tring with various issue\x01 \x02ith spacing
Я хочу, чтобы выглядеть следующим образом:
b = "Here is a short String with various issues With spacing"
кажется, что регулярное выражение правильно сопоставляя правильные экземпляры вещи, которые я хочу изменить, но что-то не так с моей заменой. Я думал, что \1 \2
означает замену первой частью регулярного выражения, добавьте пробел, а затем добавьте второй согласованный элемент. Но почему-то я получаю что-то еще?
Вам нужно сырые строки. Добавьте 'r' перед обеими строковыми объявлениями. 'r" [a-z] [A-Z] ", r" \ 1 \ 2 "'. –
Вы не установили группы захвата, используйте '' ([a-z]) ([A-Z]) ". И используйте 'r '\ 1 \ 2'' –