【发布时间】:2013-02-07 13:27:27
【问题描述】:
我很难为以下问题找到一个聪明的解决方案。我有文本字符串“exp”和一个带有章节数的预定义列表“章节”。我的目标是根据章节的预定义顺序拆分文本。我有这个正则表达式:
"(\n(\\d\\.?){1,}?\\S+)"
它与章节的编号相匹配,但是我如何检查它是否也与章节列表中的第一个元素匹配,如果编号与章节列表中的第二个元素匹配,我如何检查它是否与下一段匹配?
static String[] chapters;
chapters = new String[]{"1","1.1","1.2"};
String exp =
"1 HeaderOne
1.1 HeaderOneOne
This is Text in the first Paragraph with the header 1.1.
1.2 HeaderOneTwo
This is Text in the second Paragraph.";
【问题讨论】:
-
使用地图有什么问题吗?
-
我不认为 regex 和 split 会帮助你。只需使用递归调用
indexOf() -
我喜欢先确定章节的开头和结尾,然后在结尾拆分的想法。我会试试的。