java根据自定义标记分割字符串
要将一篇长文章分割成多页, 那么就需要在文章中做标记, 这个标记不能是简单的单个字符,因为这样可能在分割时将不想分割的也分割了, 所以需要定义一个在文章内容中不会出会的字符串作标记,
作用:将长字符串用自定义标记字符串分割后,取出分别加入到list中。
下面我将我用java写的共享给大定,欢迎转载但请注明出自同行网txw100.com
分割的方法代码:
public ArrayList<String> StringDiv(String inputStr)
{
String strFlag="<!--divFlag-->";
Integer flagLength=strFlag.length();
Integer flagi=inputStr.indexOf(strFlag);
Integer totalLengh=inputStr.length();
ArrayList<String> list = new ArrayList<String>();
if(flagi>=0)
{
String content=inputStr.substring(0, flagi);
if(!content.trim().equals(""))
// System.out.println(content);
list.add(content);
//这里我定义的是最多标记可能会出现50次, 当然你可以定义得更大, 这没关系。
for(int i=0; i<50; i++)
{
inputStr=inputStr.substring(flagi+flagLength, totalLengh);
totalLengh=inputStr.length();
flagi=inputStr.indexOf(strFlag);
if(flagi>=0)
{
content=inputStr.substring(0, flagi);
if(!content.trim().equals(""))
// System.out.print(content);
list.add(content);
}
else
{
if(!inputStr.trim().equals(""))
// System.out.print(inputStr);
list.add(inputStr);
break;
}
}
}
else
{
// System.out.print(inputStr);
list.add(inputStr);
}
return list;
}
调用的方法代码:
@Test
public void division()
{
String inputStr=" <!--divFlag--> aa sf<>sdf <!--divFlag--> sdf dd<!--divFlag--><!--divFlag-->";
ArrayList<String> list = new ArrayList<String>();
list=StringDiv(inputStr);
for(int i=0; i<list.size();i++)
{
System.out.println(list.get(i));
}
}