假设我有一个文档文件,内容如下:
治疗重点和评估:描述(1)干预的类型(如药物治疗、手术、预防、生活方式、自理)和(2)干预的管理和强度(包括剂量、强度、持续时间、频率)。
随访和结果:请描述此案例的临床过程,包括所有随访访问以及(1)干预的修改、中断或终止及其原因;(2)对干预的依从性以及如何评估这些依从性;
讨论:请描述此案例报告的优势和局限性,包括病例管理,以及与此案例报告相关的科学和医学文献。
在这个文件中,我想将每个标题及其内容分开。也就是说,我将有3个标题和3个内容。我考虑将标题作为键,内容作为其值。我该如何使用正则表达式来过滤这些信息呢?
文件结构的微小变化:(附加问题)
治疗重点和评估:描述(1)干预的类型(如药物治疗、手术、预防、生活方式、自理)和(2)干预的管理和强度(包括剂量、强度、持续时间、频率)。
讨论:
请描述此案例报告的优势和局限性,包括病例管理,以及科学。健康:与此案例报告相关的医学文献。
如果我有这种类型的文件,其中第一段的内容是连续的,而第二段的内容之间有行间距。同一段落中还包含了一个额外的部分。在这种情况下,我该如何拆分呢?
回答:
这里介绍了一种基于字符而非正则表达式进行拆分的方法。
String document = "Header: blah blah \n Header: blah blah"String[] sections = document.split("\n");String[] headers = new String[sections.length];String[] bodies = new String[sections.length];;for(int i = 0; i < sections.length; i++){ headers[i] = sections[i].split(":")[0]; bodies[i] = sections[i].substring(headers[i].length() + 2);}
如果您有更复杂的分割需求,比如不是简单的回车和冒号,那么同样的分割方法也可以应用于正则表达式模式,但从表面上看,这种方法可能适合您的需求。