Java에서 문자열 구문 분석
이 튜토리얼에서는 다양한 방법을 사용하여 Java에서 문자열을 구문 분석하는 방법을 설명합니다. 구문 분석은 문자열을 가져와 정보를 추출하기 위해 처리하는 프로세스입니다.
split
메소드를 사용하여 Java에서 문자열 구문 분석
String
클래스의split()
메소드는 원래 문자열을 수정하지 않은 상태로 유지하면서 소스 문자열을 분할하여 작동하고 원래 문자열의 하위 문자열 배열을 반환합니다. 이 방법에는 두 가지 변형이 있습니다.
split(String regex)
메소드는 문자열 유형의 정규식을 인수로 취하고 정규식의 일치 항목 주위로 문자열을 분할합니다. 정규식이 원래 문자열의 일부와 일치하지 않으면 하나의 요소 인 소스 문자열이있는 배열을 반환합니다.
split(String regex, int limit)
메소드는 동일하게 작동하지만 리턴 될 문자열 수를 의미하는limit
를 사용합니다. 한계가 음수이면 리턴 된 배열은 한계가 0 일 때 가능한 한 많은 하위 문자열을 포함 할 수 있습니다. 배열은 후행 빈 문자열을 제외한 모든 하위 문자열을 포함합니다.
public class StringTest {
public static void main(String args[]) {
String source1 = "March032021";
String[] returnedArray1 = source1.split("\\d+");
for (String str1 : returnedArray1) {
System.out.println(" Output1 : " + str1);
}
String source2 = "950-003-123-900-456 : 11 _343-1 789----";
String[] returnedArray2 = source2.split("-", 4);
for (String str2 : returnedArray2) {
System.out.println(" Output2 : " + str2);
}
}
}
출력:
Output1 : March
Output2 : 705
Output2 : 103
Output2 : 102
Output2 : 456-123 : 112 _343-1 789----
Scanner
를 사용하여 Java에서 문자열 구문 분석
Scanner
는 일반적으로 정규 표현식을 사용하여 기본 유형과 문자열을 구문 분석하는 데 사용됩니다. 기본적으로 일치하는 공백 인 구분 기호 패턴을 사용하여 입력을 토큰으로 나눕니다.
지정된 문자열 개체로scanner
를 만듭니다. Scanner
클래스의useDelimiter()
메소드는 구분 기호 패턴을 설정하는 데 사용됩니다. Pattern
객체 또는 문자열을 패턴으로 전달할 수 있습니다. 문자열의 모든 토큰을 얻으려면hasNext()
메소드를 사용하여 토큰을 반복하고 출력을 인쇄합니다.
import java.util.Scanner;
public class StringTest {
public static void main(String args[]) {
String text = "John Evans was born on 25-08-1980";
Scanner scanner = new Scanner(text);
scanner.useDelimiter("born");
while (scanner.hasNext()) {
System.out.println("Output is : " + scanner.next());
}
}
}
출력:
Output is : John Evans was
Output is : on 25-08-1980
StringUtils
를 사용하여 Java에서 문자열 구문 분석
Apache Commons StringUtils
클래스는 문자열로 쉽게 작업 할 수있는 도구를 제공합니다. 이 라이브러리를 추가하기위한 maven 종속성은 다음과 같습니다.
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.11</version>
</dependency>
StringUtils
클래스의substringBetween(String str, String open, String close)
메소드를 사용하여 주어진 문자열을 구문 분석합니다. 이 메서드는 두 문자열 사이에 중첩 된 하위 문자열을 추출합니다.
import org.apache.commons.lang3.StringUtils;
public class StringTest {
public static void main(String args[]) {
String source = "The crazy brown dog jumps over the fence";
String[] stringArray = StringUtils.substringsBetween(source, "crazy", "over");
for (String s : stringArray) {
System.out.println("Output : " + s);
}
}
}
출력:
Output : brown dog jumps
Rupam Saini is an android developer, who also works sometimes as a web developer., He likes to read books and write about various things.
LinkedIn