【发布时间】:2023-04-06 02:33:01
【问题描述】:
我有这个大文本(阅读大)。我需要标记每个单词,分隔每个非字母。我使用 StringTokenizer 一次读取一个单词。但是,当我正在研究如何编写分隔符字符串(“每个非字母”)而不是执行以下操作时:
new StringTokenizer(text, "\" ();,.'[]{}!?:”“…\n\r0123456789 [etc etc]");
我发现基本上每个人都讨厌 StringTokenizer(为什么?)。
那么,我可以用什么代替呢?不要建议 String.split 因为它会复制我的大文本。我需要逐字阅读文本并为每个非字母定界。自己构建一些东西更容易还是有一些最佳实践方法来解决这个问题?
提前致谢!
【问题讨论】:
-
你的文字有多大,真的吗?它适合内存吗?
标签: java string tokenize stringtokenizer large-data