我有一个代码,应该从字符串中删除2个元素。可以与字母数字一起工作,但是当我输入相同数字的字符串时,即仅输入“ 1”:(111111111),则不返回任何内容或仅返回“ 1”,或者与我的预期完全不同。
这是我的代码:
String str= "222222222";
System.out.println(str.replace(str.substring(3, 5), "")); }
在这种情况下,返回“ 2”,但是 如果字符串少一个“ 2”,则不返回任何内容
感谢您的帮助:)
答案 0 :(得分:5)
如果str
为"222222222"
,则str.substring(3,5)
为"22"
。因此,您正在呼叫str.replace("22", "")
,它会将{strong>每个 "22"
替换为""
。
如果您想删除字符串的一部分,只需使用substring
挑选其余部分即可。
System.out.println(str.substring(0,3) + str.substring(5));
或者,StringBuilder
有一个delete
方法:
StringBuilder sb = new StringBuilder(str);
sb.delete(3,5);
System.out.println(sb);
您可以使用sb.toString()
将StringBuilder
转换回字符串。