string.split()和处理重复项

时间:2013-09-15 18:26:39

标签: java regex string

我有一个字符串String test = "-b--b--";

我想要一个具有{"", "b", "", "b", ""}

的数组

如何调用string.split()函数来获取此功能?

编辑:

我试过test.split("-")。 我的测试给了我{"", "b", "", "b"}。 为什么该方法不包括我的数组上的最后一个emptyspace如果它包含第一对连字符之间的第一个?

基本上我想获得大肆宣传之间的所有角色,其中String test = ---应该给我{"", "", ""}

2 个答案:

答案 0 :(得分:1)

docs

中提及
  

跟踪结果数组中未包含的空字符串。


对于所需的结果,将其更改为

test.split("-",Integer.MAX_VALUE);

这会考虑空字符串,因此输出将是

"", "b", "", "b", "" , ""

答案 1 :(得分:0)

你可以尝试.getCharAt()字符串方法来解决你的问题 以下代码可以提供帮助:

char test1[]=new char[test.length()];
for(int i=0;i<test.length();i++)
if(test.getCharAt(i)=='-')
test1[i]=' ';
else
test[i]=test.getCharAt(i);  
希望这会对你有帮助....