IntelliJ DebuggerによってUTF8文字列で表示される-1と-2とは何ですか、またそれを削除する方法は何ですか?[複製]
Dec 08 2020
Windows 10でファイルから文字列を解析するとき、空白のトリムなどでは削除できない2つの文字があります。

これが犯人の証拠です。
^(\w+)
空白が含まれていることがあるため、これは私の正規表現をやや台無しにします。たとえば、文字列の値(スクリーンショット)をRegExrにコピーすると、空白が追加されていることがわかります。これが、正規表現がネットワークで機能する理由です。

私はすでにグーグルで-1 -2 in UTF-8 string
検索しましたが、何も見つけることができなかったので、それと非常に混乱しています。
回答
2 Blindy Dec 08 2020 at 02:09
デバッガーは、それぞれ-1と-2として表示するのはばかげていますが、UTF-16 BOM(質問で主張するUTF-8ではなく、3バイトである)を扱っていることは十分に明らかです。完全に異なるマーカー)。
それらの存在を確認し、ファイルの先頭でそれらに遭遇した場合は削除してください。ただし、理想的には、最初にBOMなしでファイルを保存する必要があります。