替换由开始和结束索引点定义的子字符串?

时间:2013-09-06 19:29:36

标签: java eclipse string indexing substring

我正在处理这段代码:

start = str.indexOf('<');
finish = str.indexOf('>');
between = str.substring(start + 1, finish);
replacement = str.substring(start, finish + 1);
System.out.println(between + " " + replacement); //for debug purposes
forreplacement = JOptionPane.showInputDialog(null, "Enter a " + between);
System.out.println(forreplacement); //for debug purposes
counter = counter - 1;

其中“str”是正在使用的String。如何用字符串str中的字符串“forreplacement”(输入到弹出框中的内容)替换子字符串“replacement”?

2 个答案:

答案 0 :(得分:2)

不确定这是否是您想要的,但可以在start之前参与,添加forreplacemeent,之后在finish之后添加部分

String result = str.substring(0, start)+forreplacement+str.substring(finish+1);

或者,如果您要将所有replacement替换为forreplacement,也可以使用

String result = str.replace(replacement, forreplacement)

答案 1 :(得分:0)

你的问题不明确。如果你想要替换,你可以做类似的事情 -

String str = "Hello World!";
String replacement = "World";
String stringToReplaceWith = "Earth";

str = str.replace(replacement, stringToReplaceWith);

System.out.println(str); // This prints Hello Earth!