Heim  >  Artikel  >  Java  >  Ausführliches Tutorial zum Teilen von Textzeichenfolgen

Ausführliches Tutorial zum Teilen von Textzeichenfolgen

零下一度
零下一度Original
2017-06-27 09:39:051240Durchsuche

Frage: Wie kann das Problem gelöst werden, wenn im Projekt die gespeicherten Daten die Spaltenlängenbeschränkung des Datenbankfelds überschreiten?

Eine gängige Lösung ist: String-Kürzung und -Zugriff. Wie der Name schon sagt, werden große Textdaten entsprechend der angegebenen Länge abgefangen und die zurückgegebene Ergebnismenge in der Reihenfolge des Abfangens in einer neuen Tabelle gespeichert. Und indem in der neuen Tabelle ein Typfeld erstellt wird, um zu identifizieren, dass der abgefangene Inhalt in der neuen Tabelle dem Feldnamen in der alten Tabelle entspricht, speichern die entsprechenden Felder in der alten Tabelle nicht mehr direkt große Textdaten, sondern Bezeichner.

Hier wird eine Toolklasse bereitgestellt, um Textzeichenfolgen aufzuteilen und einen Listenergebnissatz für den nächsten Schritt zurückzugeben.

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;
    }
}

Das obige ist der detaillierte Inhalt vonAusführliches Tutorial zum Teilen von Textzeichenfolgen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn