String类的trim()方法之不能消除的空格

在后台数据统计清洗中,我们时常会遇到针对字符串的修改的问题,其中比较常见的就是消除字符串中的空格。这里笔者要阐述的不是如何消除字符串中出现的空格,而是在消除字符串中遇到的问题:有些空格不能使用trim()消除掉。

这个问题出现的原因在于trim()函数只能消除半角空格,而不能消除全角空格。如果输入的空格是全角空格,那么后台使用trim()是不能清除的。

要想消除全角空格,就必须先将全角空格转换成半角空格,然后再使用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()删除。

你可能感兴趣的:(Java探讨)