只是想知道,从字符串中的标题中提取信息的最佳方法是什么。
我有标题的类和getter方法(摘要,标题1,标题2)。
例如,
如果我有一个等于的字符串,
This: is the first line of a String: xx-string: This is a long String
Summary:
This is the summary of the String
Heading 1:
This is the first heading
Heading 2:
This is another heading
设置字符串值的理想方法是什么,
摘要,标题1,标题2
到
Summary = This is the summary of the String
Heading 1 = This is the first heading
Heading 2 = This is another heading
谢谢!
修改
这就是我想要的,
public void setHeadings(Data fileData) {
String description = fileData.getDescription();
//String [] headings = description.split(":");
int indexOf;
indexOf = description.indexOf("Summary");
if(indexOf != -1)
{
String subString = description.substring(indexOf);
int indexOfNextHeading = subString.indexOf(":");
if(indexOfNextHeading != -1)
{
System.out.println(indexOf + ":" + indexOfNextHeading);
setSummary(description.substring(indexOf,indexOfNextHeading-1));
System.out.println(description.substring(indexOf,indexOfNextHeading));
}
}
}
然而,然后,吐出一个Array Out of of bounds异常。
答案 0 :(得分:1)
使用扫描仪对象。
import java.util.Scanner;
然后用它一次读取一行字符串。
Scanner sc = new Scanner(string);
sc.useDelimiter("\n"); // read one line at a time
现在sc.hasNext()告诉你是否还有行要读取,sc.next()会返回下一行。使用它一次遍历String一行。您可以测试每一行以查看它是否等于“Summary:”或“Heading 1:”等。然后您可以使用StringBuffer添加每个要创建的String的每一行。
如果你愿意,我可以为你写这个,但这很简单。