我正在处理一个包含1000多个文档的文本文件。大多数文档非常相似,以相同的布局开始和结束。我正在尝试将文本拆分成一个数组,每个项目都是一个文档:
let documents = [
[], <- doc1
[], <- doc2
....
];
为了达到这个目的,我正在使用一个巨大的正则表达式,它获得了一个文档的总页数(我在第一页中有这个信息),并采取一切=&gt; [\s\S]*?
&lt; =直到最后一页。是不是很好,因为有些文档可能没有最后一页,所以捕获两个文档而不是一个。
这里,正则表达式正在捕获两个文档,但是如果你删除Z6:0你会看到问题。
是否有可能解决这个问题?
感谢。
答案 0 :(得分:0)
使用简单的正则表达式应该没问题。这里我使用%start%和%end%来分隔每个文档。用你当前的分隔符替换它也应该可以正常工作。
getById(id: string) {
return this.http.get('someUrl' + id)
.map((res: Response) => res.json())
.filter(teacher => teacher.id === id));
如果您的分隔符使用任何特殊字符,请不要忘记使用它们。
修改
"your-whole-document-content".match (/(%start%)(.*?[\n\r]?)*?(%end%)/g)