传递0作为限制参数可以防止尾随空字符串,但是如何防止 前导 空字符串呢?
例如
String[] test = "/Test/Stuff".split("/");
结果是带有“”,“ Test”,“ Stuff”的数组。
是的,我知道我可以滚动自己的令牌生成器…但是StringTokenizer的API文档说
“ StringTokenizer是一个遗留类,出于兼容性原因保留,尽管在新代码中不鼓励使用它。建议任何寻求此功能的人都使用拆分”
您最好的选择可能只是删除任何领先的定界符:
String input = "/Test/Stuff"; String[] test = input.replaceFirst("^/", "").split("/");
您可以通过以下方法使它更通用:
public String[] mySplit(final String input, final String delim) { return input.replaceFirst("^" + delim, "").split(delim); } String[] test = mySplit("/Test/Stuff", "/");