java分割文本字符串的方法

 更新时间:2017年06月27日 09:04:09   作者:一只笨笨鸟  
这篇文章主要为大家详细介绍了java分割文本字符串的方法,具有一定的参考价值,感兴趣的小伙伴们可以参考一下

问题:在项目中,当保存数据超过数据库字段列长度限制时,如何解决?

一种常见的解决办法是:截串存取。顾名思义,就是对大文本数据按指定长度进行截取,返回结果集依截取顺序存储在新表中。并通过在新表中创建一个type字段来标识新表中截取的内容对应旧表中的字段名,而旧表中相应的字段不再直接存放大文本数据,而是存放标识符。

这里,提供一种工具类,用来分割文本字符串,返回List结果集供下一步使用。

public class StringUtil {

  /** 
  * @Name: getContentByList
  * @Description: 字符串切割
  * @Author: 张(作者)
  * @Version: V1.00 (版本号)
  * @Create Date: 2017-6-26(创建日期)
  * @Parameters: wholecontent:传递的文本字符串;
          cutcount:切割字符串的长度
  * @Return: List:切割字符串形成的集合,存放结果集
  */
  public static List<String> getContentByList(String wholecontent,int cutcount){
    List<String> list = new ArrayList<String>();
    //获取完整内容字符串的总长度
    int contentlen = wholecontent.length(); 
    //内容截取,用内容总长和截取长度进行比较,无须截取的话直接插入
    if (contentlen < cutcount){ 
      list.add(wholecontent);
    }
    //内容长度超过截取长度
    else{
      //定义并初始化内容段落
      String contentpart ="";
      //定义并初始化被截取的段落数量
      int contentround =0;
      //开始截取的位置
      int begincount = 0; 
      //判断截取的段落数
       int contentcutpart = contentlen/cutcount; 
      int contentcutparts = contentlen%cutcount; //求余数
      //若余数为0,说明被整除,内容的长度正好是截取长度的倍数。
      if (contentcutparts==0){
        contentround = contentcutpart;
      }
      else{
        contentround = contentcutpart+1;
      }
      //循环截取内容
      for (int i = 1; i <= contentround; i++) {
        //如果不是最后一个截取部分
        if (i != contentround){
          //按照截断长度截取内容
          contentpart = wholecontent.substring(begincount, cutcount*i);
        }
        else{
          //截取最后一部分内容
          contentpart = wholecontent.substring(begincount, contentlen);
        }
        //赋值下一截取部分的起点位置
         begincount = cutcount*i; 
         list.add(contentpart);
      }
    }
    return list;
  }
}      

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持脚本之家。

您可能感兴趣的文章:

相关文章

  • Java8日期时间类LocalDateTime比较大小举例

    Java8日期时间类LocalDateTime比较大小举例

    LocalDate是Java 8中的日期类之一,它表示一个日期,下面这篇文章主要给大家介绍了关于Java8日期时间类LocalDateTime比较大小的相关资料,文中通过代码介绍的非常详细,需要的朋友可以参考下
    2024-05-05
  • Java实现统计在线人数功能的方法详解

    Java实现统计在线人数功能的方法详解

    很多人在笔试或者面试中问到:现在要你实现一个统计在线人数的功能,你该怎么设计?不知道的朋友,这篇文章就来告诉你具体实现方法
    2022-08-08
  • Java中怎样处理空指针异常

    Java中怎样处理空指针异常

    程序中的变量是 null,就意味着它没有引用指向或者说没有指针。这时,我们对这个变量进行任何操作,都必然会引发空指针异常,本文主要介绍了Java中怎样处理空指针异常,感兴趣的可以了解一下
    2022-05-05
  • JAVA多线程间通讯常用实现方法解析

    JAVA多线程间通讯常用实现方法解析

    这篇文章主要介绍了JAVA多线程间通讯常用实现方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下
    2020-09-09
  • 使用Rhino让java执行javascript的方法实例

    使用Rhino让java执行javascript的方法实例

    这篇文章主要介绍了java使用Rhino执行javascript的方法,Rhino由Mozilla开发,是 JavaScript 一种基于Java的实现
    2013-12-12
  • SparkSQL使用IDEA快速入门DataFrame与DataSet的完美教程

    SparkSQL使用IDEA快速入门DataFrame与DataSet的完美教程

    本文给大家介绍使用idea开发Spark SQL 的详细过程,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友参考下吧
    2021-08-08
  • 基于CopyOnWriteArrayList并发容器(实例讲解)

    基于CopyOnWriteArrayList并发容器(实例讲解)

    下面小编就为大家带来一篇基于CopyOnWriteArrayList并发容器(实例讲解)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-11-11
  • Intellij idea 代码提示忽略字母大小写和常用快捷键及设置步骤

    Intellij idea 代码提示忽略字母大小写和常用快捷键及设置步骤

    这篇文章主要介绍了Intellij idea 代码提示忽略字母大小写和常用快捷键及设置步骤,本文通过图文并茂的形式给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2023-02-02
  • JDK 14的新特性:文本块Text Blocks的使用

    JDK 14的新特性:文本块Text Blocks的使用

    这篇文章主要介绍了JDK 14的新特性:文本块Text Blocks的使用,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-05-05
  • 精辟全面且细致的java运算符教程详解

    精辟全面且细致的java运算符教程详解

    这篇文章主要介绍了java运算符教程,内容非常的精辟全面且细致到每一个小注意点,正在学java的同学快快建议收藏阅读吧,希望能够有所帮助,祝多多进步早日升职加薪
    2021-10-10

最新评论