将 0 作为限制参数传递可防止尾随空字符串,但如何防止 前导 空字符串?
例如
String[] test = "/Test/Stuff".split("/");
生成一个包含“”、“Test”、“Stuff”的数组。
是的,我知道我可以推出自己的 Tokenizer...但是 StringTokenizer 的 API 文档说
"StringTokenizer is a legacy class that is retained for compatibility reasons although its use is discouraged in new code. It is recommended that anyone seeking this functionality use the split"
最佳答案
您最好的选择可能是去掉任何前导分隔符:
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", "/");
关于java - 如何防止 java.lang.String.split() 创建前导空字符串?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9389503/