原本我假设是这样:
String str = "这是一个测试的字串";
ArrayList<String> inputA = new ArrayList<>(); // 要插入的字串A
ArrayList<Integer> indexA = new ArrayList<>(); // 要插入的字串A的位置
inputA.add("0");
inputA.add("2");
inputA.add("4");
inputA.add("6");
indexA.add(0);
indexA.add(2);
indexA.add(4);
indexA.add(6);
然后将字串插入:
int count = 0;
for(int i = 0; i < indexA.size(); i++) {
str = str.substring(0, indexA.get(i) + count)
+ inputA.get(i) // 插入字串
+ str.substring(indexA.get(i) + count);
count++;
}
正确结果:
0这是2一个4测试6的字串
但是如果我插入两个以上的字串就不知道该怎么处理了…
ArrayList<String> inputB = new ArrayList<>(); // 要插入的字串B
ArrayList<Integer> indexB = new ArrayList<>(); // 要插入的字串B的位置
inputB.add("a");
inputB.add("b");
inputB.add("c");
indexB.add(2);
indexB.add(3);
indexB.add(4);
然后加上上面的结果应该要是:
(如果字串A跟字串B在同一个位置,字串B要在字串A后面)
0这是2a一b个4c测试6的字串
这里原本是想写成像字典的注解那样,
但是注解有两种以上,插入的位置就很难抓了…
有人知道这里该怎么写吗?
想了两天还是想不出来…