对于这个问题,我的处理方法是:

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去除字符串多余空格以及首尾空格相关推荐

  1. java字符串去掉中文_Java——去除字符串中的中文

    import java.util.regex.Matcher; import java.util.regex.Pattern; public class RemoveStrChinese { priv ...

  2. python中用什么函数去掉空格_python去除字符串空格-python删除空格-python去掉空白字符-python strip函数-python trim函数-嗨客网...

    Python去除字符串空格教程 在开发过程中,有时候我们需要去除一个 Python strip()函数详解 语法 S.strip([chars]) -> str 参数 参数 描述 S 表示原字符 ...

  3. mysql 去除全角空格_去除字符串内多余空格

    倒数第二行 就是去除多余空格  原本最后一种写法是网上找来的 可是根本不好使 \\1  匹配数字1或一次吧 (我有点记不清了) "\s" 匹配非空字符 "\x20&quo ...

  4. java去掉字符串中前后空格函数_Java去除字符串中的空格

    1. String.trim() trim()是去掉首尾空格 2.str.replace(" ", ""); 去掉所有空格,包括首尾.中间 String str ...

  5. java随机生成标点符号_java去除空格、标点符号的方法实例

    代码如下: public class TempTest { public static void main(String[] args) { //string去除空格 String str=" ...

  6. java字符串去重复_java去除字符串中重复、不重复、消除重复后字符

    java去除字符串中重复.不重复.消除重复后字符 import java.util.HashSet; import java.util.Set; public class Main { public ...

  7. java怎么显示空格符_Java在字符串中看不到空格

    因此,我正在尝试解析一些具有多行文本的文本文件.我的工作是遍历所有单词并将其打印出文件. 因此,我阅读了所有行,然后遍历它们,并用空格将每一行分开,如下所示: line.split("\\s ...

  8. java去除前后空格_js去除字符串前后空格的多种方法

    js去除字符串前后空格的五种方法. 第一种:循环检查替换 复制代码 代码示例: //供使用者调用 function trim(s){ return trimRight(trimLeft(s)); } ...

  9. python去掉两边空格,Python去除字符串两端空格的方法

    这篇文章主要介绍了Python去除字符串两端空格的方法,本文主要讲解了string.lstrip.string.rstrip.string.strip等函数的运用,需要的朋友可以参考下 目的 获得一个 ...

  10. python去除字符串两边空格_Python去除字符串两端空格的方法

    Python去除字符串两端空格的方法 目的 获得一个首尾不含多余空格的字符串 方法 可以使用字符串的以下方法处理: string.lstrip(s[, chars]) Return a copy of ...

最新文章

  1. Django博客系统(写博客页面展示)
  2. 树形dp技巧,多叉树转二叉树
  3. java 锁的底层原理
  4. linux开机启动rsync,【Linux】rsync同步文件 程序自启动
  5. Linux C: 为什么C都必须有一个main函数
  6. Android开发(二十四)——数据存储SharePreference、SQLite、File、ContentProvider
  7. 如何快速排查生产问题
  8. 三菱伺服自动调谐_三菱伺服在执行离线自动调整之前
  9. 在5G、大数据、AI领域进行合作,商飞与腾讯云共推大飞机智能制造
  10. Java中String,StringBuffer,StringBuilder的区别
  11. 疯狂连连看之开发界面布局
  12. .NET设计模式(9):桥接模式(Bridge Pattern)(转)
  13. 第九章-安装RPM包或源码包
  14. 【对讲机的那点事】对讲机数字语音加密,保障通信安全
  15. 转载:手把手教你把Vim改装成一个IDE编程环境(图文)
  16. 国讯之MTK Ralink方案GPIO驱动介绍
  17. 基于TMC4361-超静音闭环步进电机驱动方案
  18. python截取视频图像_python视频按帧截取图片工具
  19. 苹果手机怎么连接不了无线网络连接服务器,苹果手机连接wifi显示无互联网连接怎么办?...
  20. 服务器内存型号的后缀字母,收藏!CPU型号20种后缀字母是什么意思?不再被坑!...

热门文章

  1. 自动驾驶综述|定位、感知、规划常见算法汇总
  2. c语言编写dxf文件吗,判断dxf文件的版本
  3. Android学习教程之idea和海马玩模拟器搭建调试
  4. 移动定位业务之“OTDOA(观察到达时间差)”
  5. Big Endian 和 Little Endian 详解
  6. Sublime Text清除历史记录
  7. 域名虚拟主机_域名和虚拟主机之间有什么区别(解释)
  8. 利用高德api定位当前位置
  9. KubernetsPod分析
  10. Android权限Uri.parse的详细资料