我有一个文档,其页面是在sqlite数据库中。每个页面看起来像这样:
<ar>some words in arabic</ar> :Some more words in arabic and urdu mixed <ar>again arabic</ar>: some more mixed <ar>again arabic</ar>again urdu arabic mixed
<ar>some words in arabic</ar> :Some more words in arabic and urdu mixed <ar>again arabic</ar>: some more mixed <ar>again arabic</ar>again urdu arabic mixed
Few lines in arabic urdu
Again sample line <ar>some arabic</ar> again mix
Again mixed
<ar>some words in arabic</ar> :Some more words in arabic and urdu mixed <ar>again arabic</ar>: some more mixed <ar>again arabic</ar>again urdu arabic mixed
<ar>some words in arabic</ar> :Some more words in arabic and urdu mixed <ar>again arabic</ar>: some more mixed <ar>again arabic</ar>again urdu arabic mixed
<ar>some words in arabic</ar> :Some more words in arabic and urdu mixed <ar>again arabic</ar>: some more mixed <ar>again arabic</ar>again urdu arabic mixed
Few lines in arabic urdu
Again sample line <ar>some arabic</ar> again mix
Again mixed
也就是说,我需要插入以<ar>
或行组开头的行,其中第一行以<ar>
标记开头,插入sqlite中的单独行。
所以流程应该像
<ar>
标记开头的第一行。<ar>
开头,请将其添加到选区并重复。否则将此选择作为sqlite中的新行插入。
我不知道如何在Sqlite或使用java中执行此操作。
任何人都可以帮帮我吗?修改 这是现有页面的表结构
CREATE TABLE Content (
PageNo integer primary key autoincrement,
PageText string
)
新行的表结构
CREATE TABLE Words (
Id Integer primary key autoincrement,
PageNo integer,
WordLines
)
我必须将选定的行插入WordLines
列。
修改 功能
String pageText = getPageText(pageNum);
String[] wordLines = getWordLines(pageText);
for(int i=0, i<wordLines.length, i++) {
insertIntoDB(wordLines[i], pageNum);
}
我无法弄清楚函数getWordLines()
的实现。
答案 0 :(得分:1)
使用Java将每个文档拆分为要作为记录的字符串的字符串数组。例如,将文档文本作为名为documentText
的字符串后,请使用
string[] stringArray = documentText.split(“[\r\n]+(?=<ar>)”);
将文档拆分为有一个或多个换行符后跟<ar>
的点。
您可以对表中的每个文档执行此操作,并将stringArray
中的字符串插入到临时表中。或者您可以将它们全部保存在内存中,直到将它们全部插入到表中。