Home  >  Article  >  Backend Development  >  How to Remove Non-ASCII Characters while Preserving Periods and Spaces?

How to Remove Non-ASCII Characters while Preserving Periods and Spaces?

DDD
DDDOriginal
2024-10-19 20:37:29898browse

How to Remove Non-ASCII Characters while Preserving Periods and Spaces?

Removing Non-ASCII Characters while Preserving Periods and Spaces

The goal is to process textual data stored in a .txt file and extract a string without any non-ASCII characters, while preserving both spaces and periods. To achieve this, the provided code defines a function onlyascii() that determines if a character should be included by checking its ASCII value. However, it currently also removes periods and spaces.

To modify onlyascii() to exempt periods and spaces, we can leverage Python's string.printable module. string.printable contains a set of characters considered printable, including spaces and periods.

The updated definition of onlyascii() utilizing string.printable would be:

def onlyascii(char):
    if ord(char) < 48 or ord(char) > 127 or char not in string.printable:
        return ''
    else:
        return char

By incorporating this check into onlyascii(), characters that are not printable, excluding spaces and periods, will be filtered out.

Here is the corrected code with the updated onlyascii() function:

def onlyascii(char):
    if ord(char) < 48 or ord(char) > 127 or char not in string.printable:
        return ''
    else:
        return char

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 filtered_data

The above is the detailed content of How to Remove Non-ASCII Characters while Preserving Periods and Spaces?. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn