我有一套关于书的资料。
我必须将数据转换为对象。行(书、章、诗、内容)
结构是
书籍章节:VersetabContentEnter
示例
申7:7耶和华既不爱你们,也不拣选你们,因为你们比万民更多,因为你们是万民中人数最少的。
撒母耳17:6他的腿上有铜盔,肩头有铜的靶子。
因为书的结构不同。
1 samuel和deuteronomy
1 samuel由一个空格组成。如何在java中将这些数据转换为对象?
我已经分成两部分了
StringTokenizer itr = new StringTokenizer(value.toString().toLowerCase(),"\t");
我想我应该用regex来分割它们。但我不知道该怎么做。
发布于 2022-03-15 06:58:52
查看正则表达式。如果内容不包含任何新的行字符(我假设\n是[Enter]的意思),则可以尝试以下表达式:
(.*?) (\d+):(\d+)\t([^\n]+)
词组的分解:
(.*?)尽可能少地匹配任何内容,并将其收集到第一组中。匹配以一个未被选择的空格结束--这是book(\d+)匹配任何至少1位数字的序列,并将其捕获到一个组中。因此,3.\t([^\n]+)将章节和诗句捕获到第2组,(\d+):(\d+)匹配一个制表符,后面是至少一个非新行字符的序列,这些字符被捕获到第4组中。要使用这样的regex,请看一下类Pattern和Matcher。
https://stackoverflow.com/questions/71477916
复制相似问题