Java将字符串拆分为数组

标签 java string split

我需要 split() 方法的帮助。 我有以下String:

String values = "0|0|0|1|||0|1|0|||";

我需要将这些值放入一个数组中。有 3 个可能的字符串:“0”、“1”和“”

我的问题是,当我尝试使用 split():

String[] array = values.split("\\|"); 

我的值只保存到最后一个 0。看起来像部分“|||”被修剪。 我做错了什么?

谢谢

最佳答案

此行为在 String.split(String regex) 中有明确记录。 (强调我的):

This method works as if by invoking the two-argument split method with the given expression and a limit argument of zero. Trailing empty strings are therefore not included in the resulting array.

如果你想包含那些尾随的空字符串,你需要使用 String.split(String regex, int limit)第二个参数为负值(limit):

String[] array = values.split("\\|", -1);

关于Java将字符串拆分为数组,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14414582/

相关文章:

java - 有没有一个工具可以检查我在 Java 中使用的包中的方法?

java - 为什么我的网页在 Spring WebFlow 重定向后过期了?

c++ - 将字符串的第一个字母大写

java - 使用 replaceAll 替换具有可变数量空格的字符串

java - 将字符串拆分为子字符串并将其放入 String [] 中

java - 检查另一个用户是否有写文件的权限

java - sendBroadcast() 是在 Android 中保持 WakefulBroadcastReceiver 存活的最佳方式吗?

php - 将文本拆分成单词问题PHP,复杂的问题

c# - .NET 正则表达式查询仅查找一个新行

python - 从文件到列表中元组的字符串