在Netbeans中找到非法字符\ 0

时间:2012-12-26 07:01:27

标签: java regex netbeans

我在netbeans中打开了一个文件,最后一行填充了字符\0。此字符仍然不可见,导致netbeans出现“非法字符”错误。

我尝试使用[\\0][\0]\0\\0在Nebeans中找到正则表达式,但没有运气。 [\0]\0给出'非法的八进制转义序列错误'。

我可以使用此文件中的Notepad ++轻松找到并替换\ 0。如何在Netbeans中做到这一点?

1 个答案:

答案 0 :(得分:2)

通过\0,我假设您指的是ASCII值为零的ASCII NUL字符(或等效的Unicode字符,其Java中的转义序列为\u0000)。

要使用正则表达式在Netbeans查找对话框中查找此字符,要使用的正确转义序列是控制序列\c@,十六进制序列\x00,八进制序列\00 ,或Unicode序列\u0000。请注意,每个序列的格式都很重要,并由Pattern class记录。您尝试使用\0不起作用,因为该序列表示八进制序列的开始,但您没有提供实际的八进制数(斜杠后面的第一个零是标记,实际上不是八进制数的一部分) )。 \0无法识别典型的* Nix Pattern转义符。

例如,将\u0000放在查找和替换功能的“查找:”字段中,并将(NUL)放入“替换:”字段中,并使用“常规” “选中表达式”选项将使用五个字符的字符串(NUL)替换NUL个字符的所有实例。这可以在单个打开文件的查找和替换中使用,也可以在使用编辑 |的整个项目中使用。 替换项目...... 对话框。