概述
对于这个问题,我的处理方法是:
1.先通过递归数出字符串中连续空格的个数。
2.将有连续空格的位置去除多余空格。
3.判断首尾是否有空格。
第一步,判断当前位置是否是空格以及连续空格的个数,这里使用一个递归的方法比较简单。代码如下:
public static int getBlankNumber(String s, intindex)
{if (index
}else{return 0;
}
}else{return 0;
}
}
传入字符串对象 s ,以及当前的位置 index,最终返回一个 int 型的结果,也就是多少个空格。
第二步,跟上返回的空格数,与当前的位置,使用 String 对象自带的 substring() 方法,将字符串分割为两部分,去掉中间的空格,再连接起来,使连续多个空格变为一个。代码如下:
public staticString mergeBlank(String s)
{int numberBlank = 0;
String a1; //字符串的第一部分
String a2; //字符串的第二部分for (int index = 0; index < s.length(); index++) { //循环整个字符串,判断是否有连续空格
numberBlank=getBlankNumber(s, index);if (numberBlank >= 2) { //根据连续空格的个数以及当前的位置,截取字符串a1= s.substring(0, index);
a2= s.substring(index + numberBlank - 1, s.length());
s= a1 +a2; //合并字符串}}returns;
}
第三步,第二步完成之后,第三步就很简单了,因为我们已经将字符串中多余的空格变为一个空格,如果需要去除首尾空格,只需要判断首尾是否是空格即可。代码如下:
public staticString trim(String s)
{if (s.charAt(0) == ' ') {
s= s.substring(1, s.length());
}if (s.charAt(s.length() - 1) == ' ') {
s= s.substring(0, s.length() - 1);
}returns;
}
这样一来,一个去除多余空格,去除首尾空格的函数就完成了。接下来调用一下看看,代码如下:
public static voidmain(String[] args) {
String name= mergeBlank(" aaa a aa ");
System.out.println("name="+name+"|"); //结果:name= aaa a aa |
name=trim(name);
System.out.println("name="+name+"|"); //结果:name=aaa a aa|
}
最后
以上就是忐忑荔枝为你收集整理的java 多余的空格_Java去除字符串多余空格以及首尾空格的全部内容,希望文章能够帮你解决java 多余的空格_Java去除字符串多余空格以及首尾空格所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复