2011-05-25 17 views
2

之前,我打算申請一些算法在字符串中的指定位置,想澄清,簡單的解決方案是在Java中可用於這方面的問題。插入Java中的

字符串str = 「這是一個測試字符串」;

對於上面的字符串,

在有POS 3插入 - 「---」
有在pos 6插入 - 「~~~~」

如何實現這一目標? 使用stringBuffer,我可以使用API​​,insert(pos,char []);

在第一循環中,如果我插入在pos 3,第二POS(位置 - 6)不再是真實的,爲了得到正確的POS第二次,必須添加任何字符之前添加。 (即6 + 3 = 9)。

一種方法是跟蹤我已經添加字符。 (繁瑣)
但是,有沒有一種方法可以在指定的位置插入原始文本,然後創建一個聯合體或類似的! (基本上更好的方法)?

例如「這是一個測試字符串」
第一環 - 氏--- s是一個測試字符串
第二環 - 這我~~~~ SA測試字符串

最後O /需要p爲氏--- SI ~~~~一個測試字符串。

這是更大的問題的一部分,之前我的做法是,想澄清這一點。

回答

8

我不知道這是你在找什麼,但你可以從月底開始,這樣的指標仍然是真實的:

e.g. "This is a test string" 
1st loop- This i~~~~s a test string 
       ^index 6 
2nd loop- Thi---s i~~~s a test string 
      ^index 3 

我覺得修改數組作爲方便的時候以及...

+0

哈哈。我們發生衝突。但爲說明+1! – 2011-05-25 13:09:57

+0

+1我喜歡這種方法。 – Boro 2011-05-25 13:11:05

+0

這是很好的答案!正在等待某人展示一些API來解決問題,但這種方法消除了這種需求。愚蠢的問題,得到答案後:),從現在開始,對於任何插入,我會後退一次:) – sat 2011-05-25 13:25:26

5

如何退後?首先插入最大索引。

+0

謝謝:)可能會遲到一秒:) – sat 2011-05-25 13:26:19

0

假設,如果你想在3個位置插入,在3,6和1

這是我會做什麼:

  1. 排序指標降序排列
  2. 然後插。

指標都是一樣的下一個各插入。