如果给出一个像100这样的整数值,那么我必须更新所有出现的文本"写1号和#34;去#"写第101"
实际文字:
收集参考4 - >我的主要文字4 - >它写了3写1号
写第2写作NO 3
我之前已经提过了三个参考文献。
因为我得到了100,所以我的输出就是这样。
收集参考4 - >我的主要文本104 - >它写了3写作No 101
写作否编写NO 103
我之前已经提过了三个参考文献。
如何使用Java以相同的方式将写1号更新为写NO 101 等?
答案 0 :(得分:0)
根据我对你问题的理解,你必须根据整数值替换字符串。 你最好为此写一个函数 -
String text = new String("Writing No 1");
public void demo(int num) {
text .replace(text.slice(-1), num);
}
您可以传递任何整数值,甚至可以使用循环来表示多个字符串值。 希望我能提供帮助。
答案 1 :(得分:0)
不是100%这是你需要的,但我会试一试:
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class StackOverflow {
public static void main(String[] args) {
int inc = 100;
String text = "Collection reference 4 -> My Main Text 4 -> It's writing 3 Writing No 1 \nWriting No 2 Writing NO 3 \nI have given three previous references.";
String patten = "(\\D+) (\\d) (\\D+) (\\d) (\\D+) (\\d) (\\D+) (\\d) (\\D+) (\\d) (\\D+) (\\d) (\\D+)";
Pattern pattern = Pattern.compile(patten, Pattern.DOTALL);
Matcher matcher = pattern.matcher(text);
matcher.find();
System.out.println(matcher.group(1) + " " + matcher.group(2) + " " + matcher.group(3) + " "
+ inc(matcher.group(4), inc) + " " + matcher.group(5) + " " + matcher.group(6) + " " + matcher.group(7)
+ " " + inc(matcher.group(8), inc) + " " + matcher.group(9) + " " + inc(matcher.group(10), inc) + " "
+ matcher.group(11) + " " + inc(matcher.group(12), inc) + matcher.group(13));
}
private static int inc(String base, int inc) {
return Integer.valueOf(base) + inc;
}
}