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可以避免每次最后的结果(如果为空),只要他不需要它。。