如何防止java.lang.String.split()创建前导空字符串?

马拉松:

传递0作为限制参数可以防止尾随空字符串,但是如何防止前导空字符串呢?

例如

String[] test = "/Test/Stuff".split("/");

结果是带有“”,“ Test”,“ Stuff”的数组。

是的,我知道我可以滚动自己的令牌生成器...但是StringTokenizer的API文档说

“ StringTokenizer是一个遗留类,出于兼容性原因保留,尽管在新代码中不鼓励使用它。建议任何寻求此功能的人都使用拆分”

乔·阿塔迪(Joe Attardi):

您最好的选择可能只是删除任何领先的定界符:

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", "/");

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章

java.lang.NumberFormatException:Android中的空字符串

java.lang.NumberFormatException:空字符串

为什么Java String.split()留在空字符串后面?

如何在String.split()中允许空字符串?

从Scala字符串到java.lang.String的转换

领域,初始化一个空字符串数组将在构建时返回“不支持的类型java.lang.String []”

String.split()-在第一个定界符之前匹配前导空字符串?

如何防止java.lang.NumberFormatException:对于输入字符串:“ N / A”?

如何将C#字符串转换为Java.Lang.String?

如何解决java.lang.NumberFormatException:空字符串

Java String.indexOf和空字符串

Java String.valueOf返回空字符串

空字符串的 String.split 行为

当我运行jframe时,它始终显示“ java.lang.NumberFormatException:空字符串”

JavaFX应用程序线程-java.lang.NumberFormatException:空字符串

java.lang.NumberFormatException:空字符串-OBJ模型加载器

Java泛型:不兼容的类型为必需的字符串;找到:java.lang.String

将java.lang.String转换为Scala字符串

无法在Firestore中按字符串查询。RuntimeException字段“ latitude”不是java.lang.String

无法应用BasicNameValuePair中的BasicNameValuePair(字符串,java.lang.String)

如何将java.lang.String的空白JSON字符串值反序列化为null?

线程“主”中的异常java.lang.StringIndexOutOfBoundsException:字符串索引超出范围:java.lang.String.substring(String.java:1960)-1

Java String.format() 是否防止字符串注入?

创建随机二进制字符串:如何在插入另一个字符串之前从to_string()中删除空字符'\ 0'

Java通过添加空字符串将int变量转换为String?

在Java 8中,将Optional.empty中的空字符串的Optional <String>转换为

保存更改时如何将空字符串另存为string.empty?

如何在 Golang 中使用可空字符串 (*string) 的 switch case?

无法将类型“ java.lang.String”的值转换为所需的类型“ long”;嵌套的异常是java.lang.NumberFormatException:对于输入字符串:“”