看板 AndroidDev 關於我們 聯絡資訊
原本我假設是這樣: 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://www.ptt.cc/bbs/AndroidDev/M.1497511651.A.777.html
ssccg: 先照要插入的位置排序,依序插入,每個插入位置要加上前面 06/15 15:59
ssccg: 已插入字串的長度總和 06/15 16:00
zcbxvsdf: 先把B,C,D...的合併到A再做插入 07/02 23:58
zcbxvsdf: B-index跑迴圈,判斷A-Index是否contains,再對A-Input那 07/03 00:08
zcbxvsdf: 個index做set A+B,三個以上Input以此類推,最後A再對原 07/03 00:08
zcbxvsdf: 文合併 07/03 00:08