0

我很难为以下问题找到一个聪明的解决方案。我有文本字符串“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.";
4

1 回答 1

0

如果我理解正确,请执行以下操作。

  1. 将您的 exp 拆分为 '\n' 并将其添加到列表中。
  2. 调用 Collections.sort(urSpilitLIst, urComparater);

在 urComparater 中编写 ur 列表的排序逻辑。排序逻辑将根据您的章节列表中的顺序进行排序。

于 2013-02-07T13:44:25.373 回答