日期:2014-05-20  浏览次数:20788 次

[求教]如何去掉String型变量的全角空格
如:
 勉 強 ;
去掉前面和后面的空格,中间的不去掉:
去掉后:
勉 強;
有没有现成的方法阿

------解决方案--------------------
字符串变量名.trim(); 专门干这个用的
------解决方案--------------------
replaceAll() 方法
------解决方案--------------------
自己写吧,好像没有现成的

String s = "  Hello World "; // 前部含有一个半角一个全角的空格
s = s.trim();
while (s.charAt(0) == '  ') { // 删除前部所有的全角空格
s = s.substring(1);
}
while (s.charAt(s.length() - 1) == '  ') { // 删除后部所有的全角空格
s = s.substring(0, s.length() - 1);
}
System.out.println(s);

------解决方案--------------------
String testStr= "   ababaaaabbccc    ";
String resultStr=testStr.replaceAll( "^[ *| *]* ", " ").replaceAll( "[ *| *]*$ ", " ");

这样就可以了,可以去掉全角空格也可以去掉半角的空格。
要注意的是replaceAll的第一个参数使用的是正则表达式的语法
"^[ *| *]* "表示以全角空格或半角空格开头的所有组合。
"[ *| *]*$ "表示以全角空格或半角空格结尾的所有组合
------解决方案--------------------
daizhenbest(牛牛) ( ) 信誉:98 Blog
=====================================
的做法显然很好,格式方面的东西,用正则表达式非常好