Computer >> 컴퓨터 >  >> 프로그램 작성 >> Java

Java에서 다른 문자열의 시작 부분에 문자열을 삽입하는 방법은 무엇입니까?

<시간/>

문자 배열 사용

  • 두 문자열을 모두 가져옵니다. 문자열 str1이 있고 str1의 시작 부분에 추가할 문자열이 str2라고 가정합니다.

  • 두 String의 길이의 합을 길이로 하여 문자형 배열을 생성합니다.

  • 0 번째 부터 시작 위치 배열의 각 요소를 str2의 문자로 채웁니다.

  • 이제 (str2의 길이) 번째 부터 배열의 끝 위치는 첫 번째 배열의 문자를 채웁니다.

예시

import java.util.Scanner;
public class StringBufferExample {
   public static void main(String args[]) {
      System.out.println("Enter string1: ");
      Scanner sc= new Scanner(System.in);
      String str1 = sc.next();
      System.out.println("Enter string2: ");
      String str2 = sc.next();
      char charArray[] = new char[str1.length()+str2.length()];
      for(int i = 0; i < str2.length(); i++) {
         charArray[i]= str2.charAt(i);
      }
      for(int i = str2.length(); i < charArray.length; i++ ) {
         charArray[i] = str1.charAt(i-str2.length());
      }
      String result = new String(charArray);
      System.out.println(result);
   }
}

출력

Enter string1:
krishna
Enter string2:
kasyap
kasyapkrishna

StringBuffer 사용

Java는 문자열의 문자열을 많이 수정해야 하는 곳에서 문자열을 대체하기 위해 StringBuffer 클래스를 제공합니다. 사용하지 않는 새 개체를 많이 남기지 않고 StringBuffer의 내용을 계속해서 수정/조작할 수 있습니다.

추가() 이 클래스의 메서드는 String 값을 매개변수로 받아 현재 StringBuffer 객체에 추가합니다.

toString() 이 클래스의 메서드는 현재 StringBuffer 객체의 내용을 문자열로 반환합니다.

따라서 다른 문자열의 시작 위치에 하나의 문자열을 추가하려면 -

  • 두 문자열을 모두 가져옵니다. 문자열 str1이 있고 str1의 시작 부분에 추가할 문자열이 str2라고 가정합니다.

  • 빈 StringBuffer 개체를 만듭니다.

  • 처음에 위의 생성된 StringBuffer 객체에 append() 메서드를 사용하여 str2를 추가한 다음 str1을 추가합니다.

  • 마지막으로 toString() 메서드를 사용하여 StringBuffer String을 변환합니다.

예시

import java.util.Scanner;
public class StringBufferExample {
   public static void main(String args[]) {
      System.out.println("Enter string1: ");
      Scanner sc= new Scanner(System.in);
      String str1 = sc.next();
      System.out.println("Enter string2: ");
      String str2 = sc.next();
      StringBuffer sb = new StringBuffer();
      sb.append(str2);
      sb.append(str1);
      String result = sb.toString();
      System.out.println(result);
   }
}

출력

Enter string1:
krishna
Enter string2:
kasyap
kasyapkrishna