substring(java)不能像我预期的那样工作

Mel*_*ilo -5 java string replace substring

我有一个代码,应该从字符串中取出2个元素.使用字母数字可以正常工作,但是当我输入一个相同数字的字符串,即只是"1":( 111111111)时,不返回任何东西,或只返回"1"或与我的预期非常不同的东西.

这是我的代码:

String str= "222222222";
System.out.println(str.replace(str.substring(3, 5), ""));           }
Run Code Online (Sandbox Code Playgroud)

在这种情况下,返回"2",但如果字符串少了一个"2",则不返回任何内容

我赞成你的帮助:)

khe*_*ood 5

如果str"222222222",那str.substring(3,5)就是"22".所以你调用str.replace("22", ""),它取代了每一个 "22""".

如果你想要删除一个字符串的片段,你可以使用它来挑选其余部分substring.

System.out.println(str.substring(0,3) + str.substring(5));
Run Code Online (Sandbox Code Playgroud)

或者,StringBuilder有一个delete方法:

StringBuilder sb = new StringBuilder(str);
sb.delete(3,5);
System.out.println(sb);
Run Code Online (Sandbox Code Playgroud)

您可以使用sb.toString()StringBuilder后面的内容转换为字符串.