I have a string coming from UI that may contains control characters, and I want to remove all control characters except carriage returns, line feeds, and tabs.
Right now I can find two way to remove all control characters:
1- using guava:
return CharMatcher.JAVA_ISO_CONTROL.removeFrom(string);
2- using regex:
return string.replaceAll("\\p{Cntrl}", "");
Control characters are characters that don't represent printable character yet rather serves to start particular action. Control characters are utilized to execute any action, in contrast, to print printable character on display.
You can do something like this if you want to delete all characters in other or control uni-code category
System.out.println( "a\u0000b\u0007c\u008fd".replaceAll("\\p{Cc}", "") ); // abcd
Note : This actually removes (among others) '\u008f' Unicode character from the string, not the escaped form "%8F" string.
Courtesy : polygenelubricants ( Replace Unicode Control Characters )
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With