我需要从文件中分离单词和含义然后我想存储 sqlite(WORDS)表中的每个单词及其在另一个(MEANING)表中的相应含义。
文件看起来像这样。
word 1
explanation 1
explanation 1
explanation 1
explanation 1
word 2
explanation 2
explanation 2
explanation 2
explanation 2
word 3
explanation 3
explanation 3
explanation 3
explanation 3
word 4
explanation 4
explanation 4
explanation 4
现在的问题是我无法弄清楚如何以1-1的对应方式分割单词和含义。解剖线之间的空格即使分割后也应该存在。
以下是我到目前为止所尝试的示例代码。
Scanner sc = new Scanner(file);
String abbr = "";
String exp = "";
String line;
while (sc.hasNext()) {
if (!(line = sc.nextLine()).isEmpty() && !(line.startsWith(" "))) {
abbr = line;
//Debug
System.out.println(abbr);
printExp(exp);
exp = "";
} else if (line.isEmpty() || line.startsWith(" ")) {
exp += line;
}
}
用于调试目的的方法。
public static void printExp(String exp) {
if (!exp.equals("")) {
System.out.println(exp);
}
}
你可以想到任何其他简单的解决方案,例如通过正则表达式。 非常感谢帮助。
答案 0 :(得分:0)
如果我说得不错,可能会为你做这件事:
^(\w.*)((?:\n(?:$|\W).*)*)
它捕获以单词字符开头的行。然后它捕获以空格开头或空的任意数量的行。