Thread ZERO WIDTH SPACE (Unicode 200B) mit einem RegEx finden und ersetzen (6 answers)
Opened by micha2 at 2023-07-12 14:26

haj
 2023-07-13 12:30
#195143 #195143
User since
2015-01-07
558 Artikel
BenutzerIn

user image
Wenn Du etwas per Pipe an ein Perl-Programm schickst, dann wird das per Default in einer 1-Byte-Codierung interpretiert. Dein \u200B hat drei Bytes, und das sind dann drei Characters, von denen keiner der ZERO WIDTH SPACE ist. Das folgende gibt eine 3 aus:
Code: (dl )
echo -ne "\u200B" | perl -E "say length <>"


Du musst Perl also mitteilen, dass der Input als UTF-8 interpretiert werden soll... ich seh' gerade, das hat GwenDragon auch schon geschrieben:
Code: (dl )
echo -ne "\u200B" | perl -CS -E "say length <>"

Nun bekommst Du eine 1, und es klappt auch mit der Ersetzung.

View full thread ZERO WIDTH SPACE (Unicode 200B) mit einem RegEx finden und ersetzen