要想消除全角空格,就必须先将全角空格转换成半角空格,然后再使用trim()函数。
关于将全角空格转换成半角空格的方法,有多种,最简单的就是使用String类的replaceAll()函数。
public static void main(String[] args) throws Exception
{
String test = " 我是全角空格,我是半角空格 ";
System.out.println(test.length());
System.out.println(test.trim());
System.out.println(test.trim().length());
System.out.println(test.replaceAll(" ", "").trim());
System.out.println(test.replaceAll(" ", "").trim().length());
}
运行结果:
15
我是全角空格,我是半角空格
14
我是全角空格,我是半角空格
13
可以看到,trim()能消除半角空格,但是不能消除全角空格。消除全角空格,只能先讲将其转换成半角空格再调用trim()删除。
---------------------------------------------------------------------------------------------------------------------------------
一般去掉空格的方法
1、String.trim():
它去掉的只是String首尾空格,内部不处理;
2、str.replace(" ", “”):
去掉所有空格,包括首尾、中间,但是又仅仅局限于一个空格
3、str.replaceAll(" ","") :
可以匹配去掉所有空格
4、str.replaceAll("\s*", “”):
可以替换大部分空白字符, 不限于空格
\s 可以匹配空格、制表符、换页符等空白字符的其中任意一个
5、StringUtils.deleteWhitespace(str);
这是StringUtils类中封装的方法,可以去除所有空格,并且可以匹配空格、制表符、换页符等空白字符的其中任意一个
6、String.strip()
删除字符串的首尾空白的字符(可删去全角空白格,仅jdk11之后可以使用)