Was zeigt -1 & -2 in IntelliJ Debugger in einer UTF8-Zeichenfolge und wie wird es entfernt? [Duplikat]
Wenn ich meine Zeichenfolge aus einer Datei unter Windows 10 analysiere, habe ich zwei Zeichen, die durch Leerzeichen und dergleichen nicht entfernt werden können.

Hier ist ein Beweis für den Täter.
Dies bringt meine Regex etwas durcheinander, ^(\w+)
weil es passiert, dass ein Leerzeichen darin ist. Wenn ich zum Beispiel den Wert der Zeichenfolge (Screenshot) in RegExr kopiere, wird ein Leerzeichen hinzugefügt - und deshalb funktioniert mein regulärer Ausdruck im Netzwerk.

Ich habe schon gegoogelt -1 -2 in UTF-8 string
, konnte aber nichts finden und bin deshalb super verwirrt damit.
Antworten
Ihr Debugger ist dumm, sie als -1 bzw. -2 anzuzeigen, aber es ist klar genug, dass Sie es mit der UTF-16-Stückliste zu tun haben (nicht mit UTF-8, wie Sie in der Frage behaupten, dass es sich um eine 3-Byte -Stückliste handelt Marker, der völlig anders ist).
Sie können jederzeit überprüfen, ob sie vorhanden sind, und sie entfernen, wenn Sie sie am Anfang einer Datei finden. Idealerweise sollten Sie Ihre Datei jedoch zunächst ohne Stückliste speichern.