JAVA中如何去除字符串前后的全角空格(当中保留)?

JAVA中如何去除字符串前后的全角空格(当中保留)?
string.trim()方法只能去除字符串前后的半角空格,我想要一个方法,同时去除字符串前后的半角空格以及全角空格!~
请求各位大大们帮帮忙啊!!!
能不能说得具体点?
最好能直接给出方法,谢谢!
另外,我需要保留字符串中间的半/全角空格,谢谢!~
再次声明一下,中间的半/全角空格是要保留的
dadao3002的方法并没有对中间的半/全角空格进行保留
但是仍然非常感谢您!~

自己写一个方法,使用split()去除角空格以及全角空格!~ split()返回是String[],后再组合成一个String

public String[] split(String regex)根据给定正则表达式的匹配拆分此字符串。
该方法的作用就像是使用给定的表达式和限制参数 0 来调用两参数 split 方法。因此,所得数组中不包括结尾空字符串。

例如,字符串 "boo:and:foo" 使用这些表达式可生成以下结果:

Regex 结果
: { "boo", "and", "foo" }
o { "b", "", ":and:f" }

参数:
regex - 定界正则表达式
返回:
字符串数组,它是根据给定正则表达式的匹配拆分此字符串确定的,,

根据你的要求重新编写了以个程式,测试OK,
代码如下:
class StrTest{
static String stringTest(String s){
int j=0,k=0,i=0;
char[] stra=new char[s.length()];
s.getChars(0,s.length(),stra,0);
for(i=0;i<s.length();i++){
if(stra[i]==' '||stra[i]==' '){
j=i+1;
}
else
{
break;
}
}
for(i=s.length()-1;i+1>0;i--){
if(stra[i]==' '||stra[i]==' '){
k=i;
}
else{
break;
}
}
String strb=new String(stra,j,k-j);
return strb;
}
public static void main(String[] args){
String str=new String(" a test test ");
System.out.println(stringTest(str));
}
}

你可以更改 String str=new String(" a test test "); 来测试
温馨提示:答案为网友推荐,仅供参考
第1个回答  2008-04-11
注意帖子里的全角空格都被改成半角空格了,运行的时候注意改回来。
去掉前后保留中间的半/全角空格
修改以上程序如下:
public static void main(String args[]){
//有2个全角空格和半角空格,中间还有1个半角空格和1个全角空格
String a=" a a ";
System.out.println("*****"+a+"*****");
char[] aa=a.toCharArray();
//代替前全角空格和半角空格为半角空格
for(int i=0;i<aa.length;i++){
if(aa[i]==' '||aa[i]==' ')
aa[i]=' ';
else
break;
}
//代替后全角空格和半角空格为半角空格
for(int i=aa.length-1;i>=0;i--){
if(aa[i]==' '||aa[i]==' ')
aa[i]=' ';
else
break;
}
a=new String(aa).trim();
System.out.println("*****"+a+"*****");
}
第2个回答  2008-04-11
给你个刚出炉的方法 热乎的~~ ^-^
这个方法是去掉字串前后所有的空格.

public static void main(String[] args) {
String a = " aaaa aaaa ";
a = a.trim();
while(a.startsWith(" ")){
a = a.substring(1,a.length()).trim();
}
while(a.endsWith(" ")){
a = a.substring(0,a.length()-1).trim();
}
System.out.println(a);
}本回答被提问者采纳
第3个回答  2008-04-11
变通一下不行啊
相似回答