是否可以构建一个与 Javas Pattern.split(..)
方法一起使用的正则表达式来重现 StringTokenizer("...", "...", true )
行为?
以便将输入分割为预定义标记字符和它们之间运行的任何任意字符串的交替序列。
JRE 引用声明 StringTokenizer
应该被视为已弃用,并且可以使用 String.split(..)
代替。所以认为那里是可能的。
我想使用split
的原因是正则表达式通常是高度优化的。例如,StringTokenizer
在 Android 平台 VM 上速度相当慢,而正则表达式模式似乎是由优化的 native 代码执行的。
最佳答案
考虑到 split 的文档没有指定这种行为,并且只有一个可选参数来告诉数组应该有多大......不,你不能。
同时查看我能想到的唯一可以具有此功能的其他类 - 扫描仪 - 它也没有。所以我认为最简单的方法是继续使用 Tokenizer,即使它已被弃用。比编写自己的类更好 - 虽然这应该不会太难(实际上相当微不足道),但我可以想出更好的方式来度过时间。
关于java - 将 StringTokenizer 替换为 String.split(..),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5929439/