我有一份文件,它的页面是在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()的实现。
发布于 2018-02-04 11:44:21
使用Java将每个文档拆分为要作为记录的字符串数组。例如,一旦将文档文本作为名为documentText的字符串,请使用
string[] stringArray = documentText.split(“[\r\n]+(?=<ar>)”);它在一个或多个换行符后面跟着<ar>的点拆分文档。
您可以对表中的每个文档执行此操作,并在执行过程中将stringArray中的字符串插入临时表中。或者,您可以将它们全部保存在内存中,直到将它们全部插入到表中为止。
https://stackoverflow.com/questions/48607060
复制相似问题