Java正则表达式匹配除\n\r和\ t之外的不可打印字符

Iva*_*vić 1 java regex

我是Regex建筑的绝对初学者,但我遇到了一个问题:

用户输入有时包含不同的字符,如"xA0"字符,我需要删除它.

我试过了

string.replaceAll("\\P{Print}", "");
Run Code Online (Sandbox Code Playgroud)

但它匹配新行"\n"字符(我认为它匹配\ r和\ t)有没有办法从匹配器中排除这些字符?

Thx提前:-)

Avi*_*Raj 7

使用否定的char类.

string.replaceAll("[^\\n\\r\\t\\p{Print}]", "");
Run Code Online (Sandbox Code Playgroud)

要么

string.replaceAll("(?![\\n\\r\\t])\\P{Print}", "");
Run Code Online (Sandbox Code Playgroud)