Я анализирую текст на не буквенно-цифровых символах и хотел бы исключить определенные символы, такие как апострофы, тире/дефисы и запятые.Regex игнорировать определенные символы
Я хотел бы построить регулярное выражение для следующих случаев:
- не алфавитно-цифровой символ, за исключением апостроф и hypens
- не алфавитно-цифровой символ, за исключением запятые, апострофов и hypens
Это то, что я пробовал:
def split_text(text):
my_text = re.split('\W',text)
# the following doesn't work.
#my_text = re.split('([A-Z]\w*)',text)
#my_text = re.split("^[a-zA-Z0-9]+(-[a-zA-Z0-9]+)*$",text)
return my_text
- Случай 1:
- Пример ввода: Что это? Приятно видеть тебя, мой друг. «Привет» миру!
- Образец вывода: ['What', 'up', 'It', 'good', 'to', 'see', 'you', 'my-friend', 'Hello', 'to- »,„мир“]
- Случай 2:
- Пример ввода: это означает, что это не хорошо, чтобы делать такие вещи.
- Пример вывода: [ 'Это', 'означает', 'что', 'это', 'не', 'хорошо к', 'делать', 'такой', 'вещи']
Любые идеи
В вашем коде есть некоторые ошибки (не связанные с вопросом). отсутствующий двоеточие в конце первой строки и отступы внутри самой функции. – elParaguayo
Спасибо за указание, исправлено. – user3247054