Обработка символов, не входящих в ASCII, сохранение пробелов и точек
При работе с текстовыми файлами часто необходимо удалять символы, не входящие в ASCII, во время сохранение определенных объектов, таких как пробелы и периоды. Предоставленный код Python успешно отфильтровывает символы, отличные от ASCII, но также непреднамеренно удаляет пробелы и точки.
Чтобы решить эту проблему, нам нужно изменить функцию onlyascii(), чтобы явно исключать пробелы и точки из процесса фильтрации. . Вот обновленная версия:
def onlyascii(char):
if char == ' ' or char == '.':
return char
elif ord(char) 127:
return ''
else:
return char
В этой обновленной функции onlyascii() мы проверяем, является ли символ пробелом (' ') или точкой ('.'), и возвращаем его, если да. Эта модификация гарантирует, что эти объекты сохраняются в отфильтрованной строке.
Чтобы использовать обновленную функцию onlyascii(), мы можем изменить функцию get_my_string() для фильтрации символов с помощью этой функции:
def get_my_string(file_path):
f = open(file_path, 'r')
data = f.read()
f.close()
filtered_data = filter(onlyascii, data)
filtered_data = filtered_data.lower()
return ''.join(filtered_data)
Метод join() используется для объединения символов из итерируемого объекта, возвращаемого функцией filter(), в результате чего получается строка.
При реализации этих изменений, вы можете удалять символы, не входящие в ASCII, сохраняя при этом пробелы и точки в текстовой строке, что соответствует конкретным требованиям вашего проекта.
Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.
Copyright© 2022 湘ICP备2022001581号-3