Java不可见字符处理

s1含不可见字符串,s2为正常字符串

String s1 = "‌[email protected]" ;
String s2 = "[email protected]" ;
System.out.println(s1 == s2);
System.out.println(s1.equals(s2));
System.out.println(s1.length());
System.out.println(s2.length());

输出结果 

false
false
16
15

肉眼看出并没有什么不同,可以把字符串粘贴到QQ里面查看区别

解决办法:

s1.replaceAll("\\p{C}", "");

 

你可能感兴趣的:(Java)