Menghapus tanda baca khusus

Nov 01 2020

Dalam teks saya, saya memiliki karakter khusus seperti tanda pisah em dan guillemets (tanda kutip runcing) yang tidak dihapus dengan menghilangkan string.punctuation

Apa cara yang benar untuk menghapus jenis tanda baca ini dari string dengan Python 3?

import string

mystring = ' »De fleste – digitale –'
mystring.translate(str.maketrans('', '', string.punctuation))
' »De fleste – digitale –'

Jawaban

1 dspr Nov 01 2020 at 03:07

Coba ini :

import itertools as it

mystring = ' »De fleste – digitale –'
newstring = ''
mystring = newstring.join(it.filterfalse(lambda x: x in '»–', mystring))
print(mystring) #=> " De fleste  digitale"
xerxes Nov 02 2020 at 00:56

inilah solusi sederhana:

    mystring = ' »De fleste – digitale –'
    print(''.join(x for x in mystring if x not in ['»', '–', '?', '!', '«']))

Anda dapat menambahkan apa pun yang ingin Anda hilangkan ke daftar di dalam .join()fungsi