2016-10-19 3 views
-2
def pre_process(t): 
    """ (str) -> str 
    returns a copy of the string with all punctuation removed, and all letters set to lowercase. The only characters in the output will be lowercase letters, numbers, and whitespace. 

    """ 
+0

Что вы пытаетесь? Вы погуглили? Если бы у вас было бы, у вас был бы ответ как первая ссылка –

+0

Проверьте [Поиск Google] (https://www.google.com/webhp?sourceid=chrome-instant&ion=1&espv=2&ie=UTF-8#q= python% 20remove% 20all% 20spaces% 20 и% 20punctuation% 20from% 20the% 20string) result –

+0

Вы пробовали мой ответ? –

ответ

0

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

import re 
def pre_process(t): 
    return re.sub(r'[^a-z\d ]','',str.lower()) 

Она возвращает введенную строку в нижнем регистре, и опустить любые символы, которые не являются буквами, номера или пробельных.

+0

спасибо! работает отлично! –

1

Попробуйте использовать следующий код.

import re 

string = 'This is an example sentence.' 
string = re.sub(r'[^a-zA-Z\d]', string) 

print(string) 

Вы должны выйти Thisisanexamplesentance.

+0

как насчет «123! @ Test»? – tinySandy

+0

Хорошо наблюдаемый! Я также добавил цифры, я предполагаю, что это то, чего хочет OP. – Zak

0

Просто восстановить вашу строку только с буквенно-цифровых символов:

''.join(_char for _char in _str.lower() if _char.isalnum()) 
Смежные вопросы