在我计划应用某些算法之前,想澄清一下,对于这个特定问题,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是一个测试字符串。
这是更大问题的一部分,在我接近之前,想澄清一下。
答案 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点。
这就是我要做的:
每个下一个插入的索引都是相同的。