java split string使用有序数组

时间:2013-02-07 13:27:27

标签: java regex arrays

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

1 个答案:

答案 0 :(得分:0)

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

  1. 将'exp'拆分为'\ n'并将其添加到列表中。
  2. 调用Collections.sort(urSpilitLIst,urComparater);
  3. 在ur urcomparater中写入ur list的排序逻辑。排序逻辑将根据您的章节列表中的顺序进行排序。