Как очистить текстовый файл от пунктуации, кроме @? - PullRequest
0 голосов
/ 04 апреля 2020

новичок в кодировании, и мне было интересно, если кто-нибудь готов помочь. В настоящее время мне было поручено создать программу, которая читает файл и сообщает определенную информацию об этом файле. В частности, я застрял в программе, которая хочет, чтобы я мог осуществлять поиск по имени пользователя. Для этого меня попросили очистить текстовый файл и убрать все знаки препинания, кроме @. Пока это все, что у меня есть, и я не уверен, где редактировать мою программу:

def cleanedup(s):
    alphabet = 'abcdefghijklmnopqrstuvwxyz'
    cleantext = ''
    for character in s.lower():
        if character in alphabet:
            cleantext += character
        else:
            cleantext += ' '
    return cleantext

Любая обратная связь будет принята с благодарностью. Я почти уверен, что это можно сделать короче, но, пожалуйста, предоставьте отзыв, основанный на этом. Я не ищу просто ответ, но понимаю, как это сделать.

1 Ответ

0 голосов
/ 04 апреля 2020

Вы можете очистить свой код cleanedup, используя string.punctuation:

import string

def cleanedup(s):
    return ''.join([x for x in s if x not in string.punctuation or x == '@'])

print(cleanedup('ag,v,bv_@gmail.com'))
# agvbv@gmailcom

string.punctuation содержит строку общих знаков пунктуации. Мы советуем не использовать эти знаки пунктуации, за исключением случаев, когда это '@'.


Если вы хотите исправленную версию своего кода, вы можете добавить еще условие для обработки '@' :

def cleanedup(s):
    alphabet = 'abcdefghijklmnopqrstuvwxyz'
    cleantext = ''
    for character in s.lower():
        if character in alphabet <b>or character == '@'</b>:
            cleantext += character
        else:
            cleantext += <b>''</b>
    return cleantext
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...