温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

利用java如何去掉文本中的空格与空行

发布时间:2020-12-01 17:35:23 来源:亿速云 阅读:387 作者:Leah 栏目:编程语言

本篇文章为大家展示了利用java如何去掉文本中的空格与空行,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

需求

按照如下要求处理字符串

  • 字符串中连续的空格数不能大于5,大于5时只保留5个

  • 字符串中含有的连续空行数不能大于2,大于2时只保留2个

分析

  • 记得之前的老大说过,字符串处理如果能不用正则表达式就不用,那个性能不好

  • 分析一下实际应用场景,全是空格的一行也应该被算作空行。否则哪天发广告的人发现了这个漏洞就会利用起来。

  • \n和\r\n都需要处理

实现代码

 /**  * 移除多余空行和空格  */  public static String dealRedundantSpaceAndBlankLine(String content)  {   if (content == null || content.length() == 0)   {    return "";   }   StringBuilder strAfterRemoveCRSB = new StringBuilder();   for (int i = 0; i < content.length(); i++)   {    if (content.charAt(i) != '\r')     strAfterRemoveCRSB.append(content.charAt(i));   }   String strAfterRemoveCR = strAfterRemoveCRSB.toString();   if (strAfterRemoveCR == null || strAfterRemoveCR.length() == 0)   {    return "";   }   StringBuilder resultSB = new StringBuilder();   String[] lines = strAfterRemoveCR.split("\n");   int blankCount = 0;   for (String line : lines)   {    if (line == null)    {     continue;    }    String lineTrim = line.trim();    if ("".equals(lineTrim))    {     blankCount++;     if (blankCount <= 2) {      resultSB.append("\n");     }    } else {     blankCount = 0;     resultSB.append(dealSpace4OneLine(line)).append("\n");    }   }   resultSB.deleteCharAt(resultSB.length() - 1);   return resultSB.toString();  }  /**  * 移除1行中的多余空格  */  public static String dealSpace4OneLine(String line)  {   if (line == null || "".equals(line)) {    return "";   }   int spaceCount = 0;   StringBuilder sb = new StringBuilder();   for (int i = 0; i < line.length(); i++) {    char curChar = line.charAt(i);    if (curChar == ' ')    {     spaceCount++;     if (spaceCount <= 5) {      sb.append(' ');     }    } else {     spaceCount = 0;     sb.append(curChar);    }   }   return sb.toString();  }  public static void main(String[] args) {   String str = "呵呵  测试\n\n\n\n   \n \r\n将风控打扫房  间\n\n\n\n \n \n  快递费解封时代峰峻\n\r\n 发的几点睡 ";   String result = dealRedundantSpaceAndBlankLine(str);   System.out.println(result);  }

上述内容就是利用java如何去掉文本中的空格与空行,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注亿速云行业资讯频道。

向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI