在java中的字符串中的指定位置插入

时间:2011-05-25 13:03:03

标签: java string

在我计划应用某些算法之前,想澄清一下,对于这个特定问题,java中是否有更简单的解决方案。

String str =“这是一个测试字符串”;

对于上面的字符串,

必须在pos 3处插入 - “---”
必须在pos 6插入 - “~~~~”

如何实现这一目标? 使用stringBuffer,我可以使用API​​,insert(pos,char []);

在第一个循环中,如果我在pos 3处插入,则第二个pos(pos - 6)不再为真,为了第二次获得正确的pos,必须添加之前添加的字符。 (即6 + 3 = 9)。

一种方法是跟踪我添加的字符。 (繁琐)
但是,有没有办法让我可以继续插入指定位置的原始文本,然后制作它的联盟或类似的! (基本上是一种更好的方法)?

e.g。 “这是一个测试字符串”
第一个循环 - Thi --- s是一个测试串
第二个循环 - 这个我~~~~是一个测试字符串

最后o / p要求是Thi --- s i ~~~~ s是一个测试字符串。

这是更大问题的一部分,在我接近之前,想澄清一下。

3 个答案:

答案 0 :(得分: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

我在修改数组时也觉得很方便......

答案 1 :(得分:5)

如何向后退?首先插入最大的索引。

答案 2 :(得分:0)

假设您要插入3个位置,3点,6点和1点。

这就是我要做的:

  1. 按降序对索引进行排序
  2. 然后插入。
  3. 每个下一个插入的索引都是相同的。