IntelliJ Debugger 在 UTF8 字符串中显示的 -1 和 -2 是什么以及如何删除它?
What is -1 & -2 shown by IntelliJ Debugger in an UTF8 string and how to remove it?
从 Windows10 上的文件解析我的字符串时,我有点有两个字符不能被空格修剪等删除。
这是罪魁祸首的证据。
这有点搞砸了我的正则表达式 ^(\w+)
因为碰巧里面有一个空格。
例如,当我将字符串的值(屏幕截图)复制到 RegExr 中时,我看到添加了一个空格 - 这就是我的正则表达式将起作用的原因。
我已经在谷歌上搜索了 -1 -2 in UTF-8 string
,但没有找到任何东西,因此对此感到非常困惑。
您的调试器将它们分别显示为 -1 和 -2 是愚蠢的,但很明显您正在处理 UTF-16 BOM(不是您在问题中声称的 UTF-8,即一个是完全不同的 3 字节标记)。
如果您在文件开头遇到它们,请随时检查它们是否存在并删除它们,但理想情况下,您应该首先保存没有 BOM 的文件。
从 Windows10 上的文件解析我的字符串时,我有点有两个字符不能被空格修剪等删除。
这是罪魁祸首的证据。
这有点搞砸了我的正则表达式 ^(\w+)
因为碰巧里面有一个空格。
例如,当我将字符串的值(屏幕截图)复制到 RegExr 中时,我看到添加了一个空格 - 这就是我的正则表达式将起作用的原因。
我已经在谷歌上搜索了 -1 -2 in UTF-8 string
,但没有找到任何东西,因此对此感到非常困惑。
您的调试器将它们分别显示为 -1 和 -2 是愚蠢的,但很明显您正在处理 UTF-16 BOM(不是您在问题中声称的 UTF-8,即一个是完全不同的 3 字节标记)。
如果您在文件开头遇到它们,请随时检查它们是否存在并删除它们,但理想情况下,您应该首先保存没有 BOM 的文件。