Java在JDK11中的String类中引入strip方法,trim()和strip()功能类似,主要区别是:
trim()
可以去除字符串前后的半角空白字符strip()
可以去除字符串前后的全角和半角空白字符
半角和全角
半角
是我们多数人在打字的时候使用的状态,如果我们不去刻意调整半全角,它会一直伴随着我们,因为半角状态下,人们已经习惯了这种打字模式,半角状态下可以使用任何标点符号,而且对于空格也没有特殊限制。全角
占两个字节
,半角
占一个字节
。半角全角主要是针对标点符号来说的,全角标点占两个字节,半角占一个字节,而不管是半角还是全角,汉字都还是要占两个字节。
这里并非一个全角空白字符等于两个半角空白字符。
所以半角空白字符占用一个字节,半角的空白字符unicode编码为\u0020。
全角空白字符占用两个字节,全角的空白字符unicode编码为\u3000。
下面是示例:
@Test
public void testString(){
String test1="测试\u0020";//半角unicode
System.out.println(test1.trim().length());//2
System.out.println(test1.strip().length());//2
String test2="测试\u3000";//全角unicode
System.out.println(test2.trim().length());//3
System.out.println(test2.strip().length());//2
String test3="测试 ";//半角空白字符
System.out.println(test3.trim().length());//2
System.out.println(test3.strip().length());//2
String test4="测试 ";//全角空白字符
System.out.println(test4.trim().length());//3
System.out.println(test4.strip().length());//2
String test5="测试 ";//两个半角空白字符
System.out.println(test5.trim().length());//2
System.out.println(test5.strip().length());//2
}
原文链接:原文连接