java string replace
이 튜토리얼에서는 예제의 도움으로 ReplaceAll () 및 ReplaceFirst () 메서드와 함께 Java String Replace () 메서드에 대한 모든 것을 설명합니다.
또한 개념을 명확하게하는 몇 가지 시나리오 기반 예제와 자주 묻는 질문을 살펴볼 것입니다.
이 튜토리얼을 진행하면 replace (), replaceFirst () 및 replaceAll () 메서드에 대해 알게되고이 두 메서드를 문자열 처리 문제에서 사용할 수 있습니다.
=> 여기에서 Java Beginners Guide를 살펴보십시오.
학습 내용 :
자바 문자열 교체
계속하기 전에 Java String replace () 메서드에 아래에 언급 된 세 가지 변형이 있음을 알아야합니다.
- 자바 문자열 replace ()
- 자바 문자열 replaceAll ()
- 자바 문자열 replaceFirst ()
이러한 모든 변형은 고유 한 의미를 가지며 문자열 조작 중 요구 사항에 따라 사용할 수 있습니다. 또한 이러한 각 메소드에는이 튜토리얼의 후반부에서 구문 및 구현 세부 사항과 함께 논의되는 자체 변형이 있습니다.
요컨대, Java String replace () 메소드는 주어진 문자의 모든 발생을 새 문자로 대체하는 데 사용됩니다.
Java String replaceAll () 메서드는 정규식에 따라 작동하며 정규식에 따라 입력 문자열에 대해 수행 할 작업 유형을 자유롭게 선택할 수 있습니다.
또한 Java String replaceFirst () 메서드를 사용하여 첫 번째 문자를 새 문자로 대체합니다.
String Replace () 메서드
이름 자체에서 알 수 있듯이 replace () 메서드는 String의 특정 문자의 모든 발생을 새 문자로 바꾸는 데 사용됩니다.
Java String Replace에는 아래와 같이 두 가지 변형이 있습니다.
# 1) 캐릭터의 대체 방법.
문자 교체 구문 :
String replace(char originalChar, char replacingChar)
# 2) 문자 시퀀스의 대체 방법.
문자 시퀀스의 구문은 다음을 대체합니다.
String replace(CharSequence original, CharSequence replacing)
문자 바꾸기
아래에서 예 , 우리는 String 변수를 초기화 할 것입니다. 그런 다음 String의 특정 문자를 새 문자로 바꿉니다.
public class replace { public static void main(String() args) { // Initialized a String String str = 'CAT'; // Replaced the character 'C' with 'R' String replace = str.replace('C', 'R'); // Printed the Original String System.out.println('The Original String was: ' + str); // Printed the Final String after replace() operation System.out.println('The Final String is: ' + replace); } }
산출:
문자 시퀀스 바꾸기
이것에 예 , 우리는 다른 형태의 Java String replace () 메소드에 대해 논의 할 것입니다.
통사론:
String replace(CharSequence original, CharSequence replacing)
이 형태의 Java String replace () 메소드는 한 문자 시퀀스를 다른 문자 시퀀스로 대체합니다. 아래 예에서는 String 변수를 초기화 한 다음 char 시퀀스를 다른 것으로 대체합니다.
아래 예를 보겠습니다.
public class replace { public static void main(String() args) { // Initialized a String String str = 'Shooting'; // Replaced the character sequence 'oot' with 'out' String replace = str.replace('oot', 'out'); // Printed the Original String System.out.println('The Original String was: ' +str); // Printed the Final String after replace() char sequence operation System.out.println('The Final String is: ' +replace); } }
산출:
String ReplaceAll () 메서드
이 메서드는 새 문자열을 출력으로 반환하고이 새 문자열은 정규식에서 제공하는 정규식의 결과를 기반으로합니다.
ReplaceAll의 구문 :
String replaceAll(String regex, String output)
모든 문자 바꾸기
이것에 예 , 우리는 replaceAll ()이 정규 표현식과 어떻게 작동하는지 볼 것입니다. 이 프로그램에서는 정규식과 함께 replaceAll () 메서드를 사용하여 문자 사이의 모든 공백을‘%’기호로 대체합니다.
public class replaceAll { public static void main(String() args) { // Initialized a String String str = 'This is a Testing Website'; /* * Replacing all the whitespaces between * characters with the '%' */ String replaceAll = str.replaceAll('\s+', '%'); // Printed the Original String System.out.println('Before ReplaceAll() ' + str); // Printed the Final String after replaceAll() operation System.out.println('After ReplaceAll(): ' + replaceAll); } }
산출:
String ReplaceFirst () 메서드
replace () 및 replaceAll () 외에도 문자열의 첫 번째 문자를 대체하는 데 사용되는 replaceFirst () 메서드라는 또 다른 메서드가 있습니다.
이 메서드는 첫 번째 문자가 새 문자로 대체되는 새 문자열을 반환합니다. 자세한 내용은 구문을 살펴 보겠습니다.
ReplaceFirst 구문 :
String replaceFirst(char oldFirstChar, char newFirstChar)
첫 번째 문자 바꾸기
이 프로그램에서는 입력 문자열을 가져 와서 replaceFirst () 메서드를 사용하여 처음 발생한 문자를 새 문자로 바꾸려고했습니다.
replaceFirst () 메서드 내에서 이전 첫 번째 문자와 새 첫 번째 문자를 전달했습니다. 반환 된 문자열은 이전 첫 번째 문자를 새로운 첫 번째 문자로 대체합니다.
public class ReplaceFirst { public static void main(String() args) { String str = 'PPPPP'; System.out.println(str); // Replaced the first occurrence of 'P' with 'Q' String replaceFirst = str.replaceFirst('P', 'Q'); System.out.println(replaceFirst); } }
산출:
시나리오
시나리오 1 : Java replaceAll () 메서드를 사용하여 하위 문자열 바꾸기.
설명: 이 시나리오에서는 기본 문자열의 하위 문자열을 새 하위 문자열로 대체합니다.
이 프로그램에서는 문자열 'Fred'가 뒤에 오는 와일드 카드 문자‘*’를 사용했습니다. Fred의 각 항목은 새 문자열 'Ted'로 대체됩니다. 아시다시피 와일드 카드 문자는 다른 문자를 나타내는 데 사용할 수있는 특수 문자입니다.
여기서는 'Fred *'를 사용했습니다. 즉, 'Fred', 'Fredd', 'Fredx', 'Fredy'등의 모든 항목에 대해 각각 새 문자열 'Ted'로 대체됩니다. 또한“Freddy”(아래 프로그램의 입력 문자열에있는 하위 문자열)를“Tedy”로 대체합니다.
public class replaceAll { public static void main(String() args) { // Initialized a String String str = 'Fred Freddy Franklin Michael Trevor Fredy'; // Replacing the names that start with Fred with the Ted String replaceAll = str.replaceAll('Fred*', 'Ted'); // Printed the Original String System.out.println('Before ReplaceAll() ' + str); // Printed the Final String after replaceAll() operation System.out.println('After ReplaceAll(): ' + replaceAll); } }
산출:
시나리오 2 : 문자 시퀀스로 시작하는 문자열을 새 문자열로 대체합니다.
설명: 여기서는 특정 문자 시퀀스로 시작하는 문자열을 새 문자열로 대체 할 것입니다. 위의 시나리오와 같이 동일한 입력 문자열을 사용한 다음 replaceAll을 사용하여 정규식 작업을 수행했습니다.
public class replaceAll { public static void main(String() args) { // Initialized a String String str = 'Fred Freddy Franklin Michael Trevor Fredy'; // Replacing the entire String that starts with Fred with the Ted String replaceAll = str.replaceAll('Fred.*', 'Ted'); // Printed the Original String System.out.println('Before ReplaceAll() ' + str); // Printed the Final String after replaceAll() operation System.out.println('After ReplaceAll(): ' + replaceAll); } }
산출:
자주 묻는 질문
Q # 1) replace () 및 replaceAll ()을 사용하여 문자를 변경하는 방법은 무엇입니까?
대답: 문자 변경은 replace () 및 replaceAll () 메서드 모두에서 잘 작동합니다. 자세한 내용은 다음 프로그램을 살펴 보겠습니다.
public class replaceAndReplaceAll { public static void main(String() args) { // Initialized a String variable String str = 'CUT'; // Replaced 'C' with 'P' using replace() method String replace = str.replace('C', 'P'); // Replaced 'C' with 'P' using replaceAll() method String replaceAll = str.replaceAll('C', 'P'); // Printed Original String System.out.println('Original String: ' +str); // Printed the output of replace() method System.out.println('Replace String: ' +replace); // Printed the output of replaceAll() method System.out.println('ReplaceAll String: ' +replaceAll); } }
산출:
질문 # 2) replace () 메서드를 사용하지 않고 Java에서 문자열의 문자를 바꾸는 방법은 무엇입니까?
대답: 아래 프로그램에서는 index = 2에서 발생하는 문자를 대체하기 위해 replace () 메서드를 사용하지 않았습니다.
public class withoutReplace { public static void main(String() args) { String str = 'This'; // Printed Original String System.out.println(str); // Replacing character at position 2 which is 'i' String replaced = str.substring(0, 2) + 'u' + str.substring(2 + 1); // Printed Replaced String System.out.println(replaced); } }
산출:
질문 # 3) Java에서 마지막 문자열을 대체하는 방법은 무엇입니까?
대답: 이 프로그램에서는 문자열의 마지막 발생을 대체하기 위해 replaceAll () 메소드와 함께 정규식을 사용했습니다.
public class replaceAll { public static void main(String() args) { // Initialized a String variable String str = 'Tony Stark John Jon StarkTony'; /* * '$' means the last element of the matching pattern. * So we have replaced the last occurrence of 'Tony' with * 'Trevor' using regex = 'Tony$' */ String replaceAll = str.replaceAll('Tony$', 'Trevor'); // Printed the original element System.out.println(str); // Printed the replaced element System.out.println(replaceAll); } }
산출:
질문 # 4) Java에서 문자열 값을 변경하는 방법은 무엇입니까?
대답: String 값을 변경할 수있는 Java String 메서드가 많이 있습니다.
replace () 메서드를 살펴 보겠습니다.
public class replace { public static void main(String() args) { String str = '1000'; System.out.println(str); // Changing the value of the Original String String changed = str.replace('000', '111'); System.out.println(changed); } }
산출:
질문 # 5) 와일드 카드 문자 란 무엇입니까? 설명.
대답: 와일드 카드 문자는 다른 문자를 나타내는 데 사용되는 특수 문자입니다. 와일드 카드 문자를 정의한 색인에서 모든 문자를 사용할 수 있습니다. 일반적인 와일드 카드 문자 중 일부는‘*’,‘?’등입니다.
예를 들어 보겠습니다. 문자열 'eat *'의. 여기서 와일드 카드 문자‘*’는 마지막 인덱스에서 발생합니다. 즉, 문자열은 항상 'eat'로 시작하지만 종료 문자를 자유롭게 선택할 수 있습니다.
따라서 입력 문자열을 'eat *'로 검색하려고하면 검색 결과는 'eat', 'eaten', 'eatable', 'eating'등이 될 수 있습니다.
결론
이 튜토리얼에서는 Java String replace () 및 replaceAll () 메서드를 자세히 살펴 보았습니다. 이 두 가지 방법 외에도 replaceFirst () 메서드에 대해서도 배웠습니다.
이 자습서에는 세 가지 방법 각각에 대한 자세한 내용을 제공 할 수 있도록 충분한 프로그래밍 예제가 포함되어 있습니다. 정규식 예제도 replaceAll () 메서드의 일부로 제공되었습니다.
C ++ 인터뷰 질문 및 경험자
이 자습서에 포함 된 시나리오 기반 및 자주 묻는 질문이 Java String Replace에 대한 훌륭한 통찰력을 얻었기를 바랍니다.
=> 처음부터 Java를 배우려면 여기를 방문하십시오.