java去汉字之间的空格问题:例如:“中 国 人”如果三个字都是单个的话就把所有的空格去掉!

但是如果是“中国 深圳”是2个词组的话就这样保留不去空格!如果是“洋 户口”一个单个汉字加一个词组的话中间的空格也去掉变成“洋户口”。请问java程序怎么写?

public static String method(String str){
int count = 0;
String temp = "";
String kg = " ";
StringBuffer sb = new StringBuffer();
for(int i=0;i<str.length();i++){
temp = String.valueOf(str.charAt(i));
if(kg.equals(temp)){
if(count>1){
count=0;
sb.append(kg);
}
}else{
count++;
sb.append(temp);
}
}
return sb.toString();
};

把你要处理的字符串传进去,看返回值

追问

有个缺陷,如果三个字都是分开的就不行了,例如:“中 国 人”,只能变成“中国 人”,还有个空格没有去掉,应该的结果是“中国人”才对!能解决一下吗?

追答public static String method(String str){
int count = 0;
String temp = "";
String kg = " ";
StringBuffer sb = new StringBuffer();
for (int i = 0; i < str.length(); i++) {
temp = String.valueOf(str.charAt(i));
if (kg.equals(temp)) {
if (count > 1) {
sb.append(kg);
}
count = 0;
} else {
count++;
sb.append(temp);
}
}
return sb.toString();
};

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-06-05

你把字符串换成不同的内容试试

    public static void main(String[] args)
    {
        String a = "你好 中国";

        if (a.matches("\\S{1} \\S{2,}"))
        {
            a = a.replaceAll(" ", "");
        }

        System.out.println(a);
    }

相似回答