首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >按regex拆分,不带特定范围

按regex拆分,不带特定范围
EN

Stack Overflow用户
提问于 2014-08-01 23:03:04
回答 1查看 55关注 0票数 0

我面临着一个关于解析这篇文章的问题。我想用唯一的account#来拆分它。如下所示:

代码语言:javascript
运行
复制
Account#: 1
    Data1
    Data2
    Data3
Account#: 1
    Data4
    Data5
    Data6
Account#: 1
    Data7
    Data8
    Data9
Account#: 2
    Data10
    Data11
    Data12
Account#: 2
    Data13
    Data14
    Data15
Account#: 3
    Data16
    Data17
    Data18
Account#: 3
    Data19
    Data20
    Data21

结果应该在我的第一个索引中,它将由数据1-9的Account#:1组成,然后在我的第二个索引Account#:2中,数据为10-15,依此类推。(这里的“Data”由新行等组成)

我正在考虑使用拆分(正则表达式),但是,如何对account#的范围进行正则表达式?正则表达式是否有可能匹配唯一值?

感谢您的回复。

EN

回答 1

Stack Overflow用户

发布于 2014-08-01 23:18:52

使用正则表达式仍然需要读取/扫描文件。reg exp只是一种有效地扫描数据的方式,一旦从文件中读取。

为什么不实现一些简单的东西来逐行读取文件一次。当您读取它并遇到每个Account #时,将随后的数据写入该account #的唯一文件,或者写入内存中的数据结构,例如由Account #键入的java.util.Map (如果数据适合内存)。

如果您高效地编写此代码,并将数据写入每个account #的输出文件,则只需读取输入文件一次(这是正则表达式方法无论如何都需要做的),并且可以在检测到数据用于哪个account #时写出到每个account文件。如果文件不是按帐号排序的,您可以一次打开一定数量的文件输出流,仅当到达文件末尾或打开的流太多时才关闭它们。如果您需要进一步附加到帐号的文件中,只需在附加模式下重新打开。输入文件可以是任何大小,处理时间与其大小成正比。

正则表达式用于在数据中查找可定义的模式,而不是用于查找唯一值。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25083153

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档