作者gcobc12632 (Ted)
看板AndroidDev
标题[问题] 在String中插入多个String
时间Thu Jun 15 15:27:26 2017
原本我假设是这样:
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的字串
这里原本是想写成像字典的注解那样,
但是注解有两种以上,插入的位置就很难抓了…
有人知道这里该怎麽写吗?
想了两天还是想不出来…
--
By ALi Project グランギニョル
仏语で「操り人形」または「人形剧」を指す。
普通は19世纪末のパリに実在した剧场「グラン・ギニョル座」を指す。
この剧场では人形の代わりに人间が出演し,残酷でエロチックな恐怖剧を演じた。
--
※ 发信站: 批踢踢实业坊(ptt.cc), 来自: 61.222.191.73
※ 文章网址: https://webptt.com/cn.aspx?n=bbs/AndroidDev/M.1497511651.A.777.html
1F:→ ssccg: 先照要插入的位置排序,依序插入,每个插入位置要加上前面 06/15 15:59
2F:→ ssccg: 已插入字串的长度总和 06/15 16:00
3F:推 zcbxvsdf: 先把B,C,D...的合并到A再做插入 07/02 23:58
4F:推 zcbxvsdf: B-index跑回圈,判断A-Index是否contains,再对A-Input那 07/03 00:08
5F:→ zcbxvsdf: 个index做set A+B,三个以上Input以此类推,最後A再对原 07/03 00:08
6F:→ zcbxvsdf: 文合并 07/03 00:08