w Perlu s/[^\w:]//g
zastąpiłby wszystkie Pomieszczenia znaków alfanumerycznych wyjątkiem:Wymień niż znaki alfanumeryczne poza pewnymi wyjątkami pytona
W Pythonie Używam re.sub(r'\W+', '',mystring)
który ma usunąć wszystkie non alfanumeryczne oprócz _ podkreślenia. Czy istnieje sposób na wprowadzenie wyjątków, nie chcę zastępować znaków takich jak = i.
Wcześniej byłem zastosowanie innej metody tj zastąpić wszystkie niechciane znaki za pomocą re.sub('[[email protected]#\'\"
$()]”,«», mystring`) jednak, że nie jest możliwe dla mnie, aby przewidzieć, co wszystkie znaki mogą przyjść mystring stąd Chcę usunąć wszystkie znaki alfanumeryczne poza kilkoma.
Firma Google nie udzieliła odpowiedniej odpowiedzi. Najbliższe wyszukiwanie to python regex split any \W+ with some exceptions, ale to też nie pomogło mi.
dzięki @ nu11p01n73R. Wewnątrz nie dodawałem listy usunięć, []. Podałem coś takiego "^ w. =", Co oczywiście nie działało. Czy mógłbyś powiedzieć znaczenie r i ^,^jest zwykle używane jako "zacznij od", ale tutaj wydaje się mieć inne znaczenie. – user1977867
@ user1977867 Tak, gdy '^' wewnątrz klasy znaków mówi jak '[^ abc]' neguje znaczenie klasy znaków. Oznacza to, że '[abc]' będzie pasować 'a'' b' lub 'c', gdzie' [^ abc] 'nie będzie pasowało' a' 'b' lub' c'.To coś innego niż 'a'' b' lub 'c' – nu11p01n73R
Czy mogę zapytać, dlaczego nazywasz listę usuniętych 'remove'list? Wydaje mi się, że jest to lista znaków, które chcesz zachować. Wspominam o tym tylko dlatego, że byłam zdezorientowana. – ikku100