📄 .#stringincise.java.1.1
字号:
package com.gctech.sms.sp.cms.util;import java.util.*;/** * 用于分割内容 * <p>Title: </p> * <p>Description: </p> * <p>Copyright: Copyright (c) 2004</p> * <p>Company: </p> * @author lijz@gctech.com.cn * @version 1.0 */ public final class StringIncise { private static String DELIM = "?!,。;"; private static int MAX_LENGTH = 45; public static List incise(String src,String start,String midstart,String midend,String end){ List l = new ArrayList(); StringBuffer sb = new StringBuffer(); StringTokenizer st = new StringTokenizer(src,DELIM,true); boolean isFirst = true; while(st.hasMoreTokens()){ StringBuffer sb1 = new StringBuffer(sb.toString()); if(sb1.length()==0){ String startTag = isFirst ? start : midstart; sb1.append(startTag); } String next = st.nextToken(); sb1.append(next); String endTag = st.hasMoreTokens()?midend:end; StringBuffer sb2 = new StringBuffer(sb1.toString()); sb1.append(endTag); if(sb1.length()>MAX_LENGTH){ l.add(sb.append(midend).toString()); sb.setLength(0); sb.append(midstart); sb.append(next); isFirst = false; }else{ if(!st.hasMoreTokens()){ l.add(sb1.toString()); isFirst = false; } else sb = sb2; } } return l; } public static void main(String[] args){ String s = "今天哈开低空到扽,扫放到动,荡妇开赛扽松开动发扽犯困扽.扽卡扽,森但矿龙烦乱东方卡扽扽,法速到扽扃代看法速挡开扽反房东开放发扃代肯,当。"; List ss = incise(s,"starwswdwdwdsdsdt","midstart","midend","end"); for(int i=0;i<ss.size();i++){ System.out.println(ss.get(i)); System.out.println(((String)ss.get(i)).length()); } }}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -