Java string.split()和处理重复项

Java string.split()和处理重复项,java,regex,string,Java,Regex,String,我有一个字符串string test=“-b--b--” 我想要一个数组,它具有{“,”b“,”b“,”} 我如何调用string.split()函数来获取该值 编辑: 我尝试了测试。拆分(“-”)。 我的测试给了我{“,”b“,”b“}。 如果该方法包含第一对连字符之间的第一个空格,为什么不包含数组中的最后一个空格 基本上,我想获得hypens之间的所有字符,其中String test=--应该给我{“,”}在 结果数组中未包含尾随空字符串 要获得所需的结果,请将其更改为 test.spli

我有一个字符串
string test=“-b--b--”

我想要一个数组,它具有
{“,”b“,”b“,”}

我如何调用
string.split()
函数来获取该值

编辑:

我尝试了
测试。拆分(“-”)
。 我的测试给了我
{“,”b“,”b“}
。 如果该方法包含第一对连字符之间的第一个空格,为什么不包含数组中的最后一个空格

基本上,我想获得hypens之间的所有字符,其中
String test=--
应该给我
{“,”}

结果数组中未包含尾随空字符串


要获得所需的结果,请将其更改为

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

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

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

您可以尝试
.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);  
chartest1[]=新字符[test.length()];

对于(int i=0;i您尝试过什么吗?您需要对您试图实现的目标做出明确的陈述。例如,您可以对上述内容进行限定,比如说“我想提取所有出现的“b”,并将所有中间字符替换为空字符串,但是您想对
split(regex)中的“bb”做什么?”
方法尾随空字符串不包括在结果数组中(来自JavaDoc)。您正在使用
limit
选项查找
split
版本,并使用负限制作为参数,如
split(“-”,-1)Jerry:是的,抱歉,这是漫长的一天。我正在编辑我的线程。现在我已经编辑了更清晰。你想要所有字符在<代码>连字符之间,然后<代码> ->代码>应该返回<代码> {“”,“}”。
相反?您测试了代码吗?输出将不是您显示的结果。结尾将有两个空字符串。@RohitJain ohh..是的..但这应该是预期的结果,op可以避免每次最后的结果(如果为空),只要他不需要它。。