将一个字符串插入另一个字符串java

时间:2013-03-15 22:16:39

标签: string insert

我试图将一个字符串粘贴到另一个字符串的中间,例如:

String One = "MonkeyPony";
String Two = "Monkey";

我如何将字符串2放入字符串1中,以便读取类似MonkeMonkeyyPony的内容?

编辑:我应该更清楚,基本上我要做的就是多次将“Monkey”插入“MonkeyPony”的中间,所以第一次它会在第二次读到“MonkeMonkeyyPony”它会读作“MonkeMonMonkeykeyyPony”等。

4 个答案:

答案 0 :(得分:21)

您不需要循环它,因为循环已在main中处理。所以你只需要使用String的子串函数来重建一个由前半部分构成的字符串,然后是第二部分,然后是第一部分的另一半。

我怎么知道循环已经在主?因为我给你做了这个功课。

答案 1 :(得分:20)

您可以使用StringBuilder.insert(索引偏移量,字符串值)来实现此目的。

在此处回答:https://stackoverflow.com/a/13503345/2997442

答案 2 :(得分:12)

你必须将第一个字符串的两个子串连接到第二个字符串的末尾。

// put the marble in the bag
public static String insert(String bag, String marble, int index) {
    String bagBegin = bag.substring(0,index);
    String bagEnd = bag.substring(index);
    return bagBegin + marble + bagEnd;
}

答案 3 :(得分:0)

您不需要使用StringBuilder或任何其他复杂方法来执行此操作。这是实现这一目标的最简单方法。在这个方法中,我刚刚使用了简单的String方法。

import java.util.Scanner;

    class Insert
    {
        public static void main(String[] args)
        {
            System.out.println("Enter First String");
            Scanner scan = new Scanner (System.in);
            String str = scan.next();
            System.out.println("Enter Second String");
            Scanner scan2 = new Scanner (System.in);
            String str1 = scan2.next();
            int i = str.length();
            int j = i/2;

            if (i % 2 == 0)                    //Condition For Even
            {
    System.out.println(str.substring(0,j) + str1 + str.substring(j-1,(str.length() - 1)));
            }
            else 
            {
    System.out.println(str.substring(0,j) + str1 + str.substring(j,(str.length() - 0)));
            }
        }
    }