Java에서 문자열 구문 분석

Rupam Yadav 2023년10월12일
  1. split메소드를 사용하여 Java에서 문자열 구문 분석
  2. Scanner를 사용하여 Java에서 문자열 구문 분석
  3. StringUtils를 사용하여 Java에서 문자열 구문 분석
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 Yadav
Rupam Yadav avatar Rupam Yadav avatar

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

관련 문장 - Java String