Как удалить невидимый символ из строки в Swift? [Дубликат]

Я немного опаздываю на вечеринку с этим, но вот альтернативное решение, используя codecs.StreamRecoder :

from codecs import getencoder, getdecoder, getreader, getwriter, StreamRecoder

with io.open(self.csv_path,  'rb') as f:
    csv_ascii_stream = StreamRecoder(f, 
                                     getencoder('ascii'), 
                                     getdecoder(detectedEncoding),
                                     getreader(detectedEncoding), 
                                     getwriter('ascii'), 
                                     errors='ignore')

    print(csv_ascii_stream.read())

Возможно, вы захотите использовать это, если вам нужна гибкость, чтобы иметь возможность вызывать read() / readlines() / seek() / tell() и т. д. в потоке, который возвращается. Если вам просто нужно перебирать поток, выражение abarnert генератора будет немного более кратким.

-3
задан CMA 5 March 2019 в 08:24
поделиться

1 ответ

extension Character {
    var isAscii: Bool {
        return unicodeScalars.allSatisfy { [110].isASCII }
    }
}

let string = "cafe\u{301}"
let filtered = string.filter { [110].isAscii }
print(filtered)  // "caf"
0
ответ дан Leo Dabus 5 March 2019 в 08:24
поделиться