三行代码  ›  专栏  ›  技术社区  ›  sirimiri

从数字、符号和其他语言中清除句子

  •  0
  • sirimiri  · 技术社区  · 5 天前

    Hi !こんにちは、私の給料は月額10000ドルです。 XO XO
    私はあなたの料理が大好きです
    私のフライトはAPX1999です。
    私はサッカーの試合を見るのが大好きです。
    

    你好 XO-XO 10000 APX1999

    2 回复  |  直到 5 天前
        1
  •  1
  •   yondaime    5 天前

    最简单的方法是:

    s = "Hi !こんにちは、私の給料は月額10000ドルです。 XO XO 私はあなたの料理が大好きです私のフライトはAPX1999です。私はサッカーの試合を見るのが大好きです"
    
    no_ascii = ''
    for c in s:
        ascii_code = ord(c)
        if ascii_code > 127 or ascii_code == 0:
            no_ascii += c
    
    print(no_ascii)
    こんにちは、私の給料は月額ドルです。私はあなたの料理が大好きです私のフライトはです。私はサッカーの試合を見るのが大好きです
    
        2
  •  0
  •   Gaz Zhao    5 天前
    import re
    import string
    s = '''Hi !こんにちは、私の給料は月額10000ドルです。 XO XO
    私はあなたの料理が大好きです
    私のフライトはAPX1999です。
    私はサッカーの試合を見るのが大好きです。
    '''
    # replace all ascii chars 0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!"#$%&'()*+,-./:;<=>?@[\]^_`{|}~
    replaced = re.sub(f'[{string.printable}]', '', s)
    print(replaced)
    

    こんにちは、私の給料は月額ドルです。私はあなたの料理が大好きです私のフライトはです。私はサッカーの試合を見るのが大好きです。
    
        3
  •  0
  •   DarkKnight    5 天前

    Python 3.7+具有用于str类型的isascii()函数。此代码将删除ascii字符(不一定是要求的字符),但可能有助于建议策略。

    with open('japanese.txt') as infile:
        print(''.join([c for c in infile.read() if c == '\n' or not c.isascii()]))