Java에서 문자열을 구문 분석하는 것은 파일, 사용자 입력 또는 특정 네트워크에서 문자열 형식의 데이터를 변환하는 것으로 알려져 있습니다. 문자열 구문 분석은 필요한 정보를 문자열 형식으로 가져오는 프로세스입니다. Java에서 문자열 구문 분석은 래퍼 클래스를 사용하여 수행할 수 있습니다. Split 메서드를 사용하면 구분 기호를 분할 메서드에 전달하여 문자열을 배열로 변환할 수 있습니다. 분할 메소드는 래퍼 클래스의 메소드 중 하나입니다.
문자열 구문 분석은 StringTokenizer를 통해서도 수행할 수 있습니다. StringTokenizer 클래스를 사용하면 생성자가 문자열을 토큰으로 나눌 수 있습니다. StringTokenizer는 다른 클래스보다 훨씬 간단합니다. StringTokenizer는 레거시 클래스이므로 모든 사람이 이 클래스를 사용하지 않아야 합니다.
광고 이 카테고리에서 인기 있는 강좌 JAVA MASTERY - 전문 분야 | 78 코스 시리즈 | 15가지 모의고사무료 소프트웨어 개발 과정 시작
웹 개발, 프로그래밍 언어, 소프트웨어 테스팅 등
구문:
String strMsg = "An Example of String"; String delims = "[delimiters]+"; String tokenString = strMsg.split(delims);
위 구문에서는 대괄호 안에 여러 개의 구분 기호를 사용할 수 있습니다. 괄호 뒤의 "+" 기호는 여러 구분 기호를 단일 구분 기호로 처리합니다.
Java에서는 문자열을 char, Object, int, date, time 등으로 변환할 수 있습니다. 문자열 파싱은 필요한 데이터 유형에 따라 특정 Java 클래스 메소드로 초기화됩니다.
이 예에서는 문자열이 날짜 및 정수와 같은 다양한 유형의 형식으로 구문 분석되는 방법을 확인할 수 있습니다. 마찬가지로 다른 방법을 사용하여 문자열을 다른 형식으로 변환할 수 있습니다.
코드:
import java.text.SimpleDateFormat; import java.util.Date; public class StringParsingInDiffTypeExample { public static void main(String[] args)throws Exception { System.out.println("String parsing into Date Oject : \n"); String strDate1 = "12/01/2020"; String strDate2 = "12-Jan-2020"; String strDate3 = "Sun, Jan 12 2020"; //converting date format into the date object here SimpleDateFormat strFormat1 = new SimpleDateFormat("dd/MM/yyyy"); SimpleDateFormat strFormat2 = new SimpleDateFormat("dd-MMM-yyyy"); SimpleDateFormat strFormat3 = new SimpleDateFormat("E, MMM dd yyyy"); //date retrieving here after parsing through parse method Date dateObj1 = strFormat1.parse(strDate1); Date dateObj2 = strFormat2.parse(strDate2); Date dateObj3 = strFormat3.parse(strDate3); //printing here the date as a char System.out.println("Date String 1 = " + strDate1 + "\t Date Object 1 = " + dateObj1); System.out.println("Date String 2 = " + strDate2 + "\t Date Object 2 = " + dateObj2); System.out.println("Date String 3 = " + strDate3 + "\t Date String 3 = " + dateObj3); System.out.println("\n\nString parsing into integer : \n"); String strVal1 = "50"; String strVal2 = "1000"; String strVal3 = "20000"; //Converting String into int using parseInt() int intValue1 = Integer.parseInt(strVal1); int intValue2 = Integer.parseInt(strVal2); int intValue3 = Integer.parseInt(strVal3); //Printing integer value System.out.println(intValue1); System.out.println(intValue2); System.out.println(intValue3); } }
출력:
위에 제공된 프로그램의 출력은 아래와 같습니다. 다양한 방법을 사용하여 String이 어떻게 다른 데이터 유형으로 변환되는지 확인할 수 있습니다.
이 예에서는 문자열을 배열 형식으로 구문 분석하기 위해 분할 방법을 사용합니다.
코드:
public class SplitMethodExample{ public static void main(String args[]){ System.out.println("String Parsing Example #1 :\n"); //In this example one space character is used as a delimiter String str1 = new String("Nothing is impossible in the world!"); String delimSpace = " "; String[] arr1 = str1.split(delimSpace); for (String uniqVal1 : arr1) { System.out.println(uniqVal1); } System.out.println("\n\nString Parsing Example #2 :\n"); //In this example a comma is used as a delimiter String str2 = new String("Alabama,California,texas,30,78"); String delimsComma = "[,]+"; String[] arr2 = str2.split(delimsComma); for (String uniqVal2 : arr2) { System.out.println(uniqVal2); } System.out.println("\n\nString Parsing Example #3 :\n"); //In this example multiple delimiter is used used as a delimiter String str3 = new String("Many of the people always say without thinking ,do you know ?Possibly Not!"); String delims = "[.,?!]+"; String[] arr3 = str3.split(delims); for (String uniqVal3 : arr3) { System.out.println(uniqVal3); } } }
출력:
위의 예제에는 세 개의 섹션이 포함되어 있으며 세 섹션 모두 문자열을 구문 분석하기 위해 서로 다른 구분 기호를 사용합니다. 아래 스크린샷에서 위 프로그램의 출력을 볼 수 있습니다.
이 예에서는 StringTokenizer 클래스가 구문 분석에 사용됩니다. StringTokenizer 클래스의 생성자는 두 개의 매개변수를 사용합니다. 첫 번째 매개변수는 문자열이고 두 번째 매개변수는 구분 기호입니다. 이 클래스에는 몇 가지 메서드가 포함되어 있습니다. 즉, nextElement()가 다음 인덱스의 값을 반환하는 동안 다음 인덱스에 값이 있는지 여부를 확인하는 hasMoreElements()가 있습니다.
코드:
import java.util.StringTokenizer; public class StringTokenizerParsingExample { public static void main(String[] args) { System.out.println("StringTokenizer Parsing Example: \n"); String strText = "Kansas,Louisiana,Maryland,Massachusetts,Mississippi,New Jersey"; String delims = ","; StringTokenizer stObj = new StringTokenizer(strText, delims); //Iterating here for the next element while (stObj.hasMoreElements()) { System.out.println("StringTokenizer Output: " + stObj.nextElement()); } } }
출력:
위의 구문 분석 출력은 다음과 같습니다. 다음 열에 쉼표로 구분된 값이 어떻게 나열되어 있는지 확인할 수 있습니다.
이 예는 indexOf 메소드를 사용하여 java에서 문자열을 구문 분석하는 방법을 보여줍니다. 이 프로그램에서는 문장 중간에 있는 문자열을 대문자로 변환합니다.
코드:
public class StringParsingExample{ public static void main(String args[]){ String strPara = "The Paragraph needs additional citations for [verification]"; int openIndex = strPara.indexOf("["); int closedIndex = strPara.indexOf("]"); // extracting here the String inside of the square bracket String subString = strPara.substring(openIndex+1, closedIndex); //converting substring in the uppercase which is inside of subString= subString.toUpperCase(); // concating here all the substrings String modifiedPara = strPara.substring(0, openIndex + 1) + subString + strPara.substring(closedIndex); System.out.println(modifiedPara); } }
출력: 위에 제공된 프로그램의 출력은 다음과 같습니다.
이 예에서는 문자열이 문자 배열로 어떻게 변환되는지 확인할 수 있습니다.
코드:
public class StringParsingCharExample { public static void main(String[] args) { String strText = "Australia"; char[] charArr = strText.toCharArray(); System.out.println(charArr.length); char secondPosChar = strText.charAt(2); System.out.println(secondPosChar); char[] charSet = new char[9]; strText.getChars(0, 9, charSet, 0); for (char uniqChar : charSet) { System.out.println(uniqChar); } } }
출력:
위에 주어진 프로그램의 출력은 아래와 같습니다.
첨부된 출력 스크린샷에서 toCharArray() 메서드를 사용하여 문자열이 문자 배열로 변환되는 방법을 확인할 수 있습니다.
코드를 이해하는 데 문제가 있나요? 온라인으로 Java 전문가로부터 Java 프로그래밍 지원을 받아 코딩 여정에서 탁월한 성과를 거둘 수 있습니다.
위 기사에서는 구문 분석, Java의 문자열 구문 분석 등을 살펴보았습니다. 분할 메소드가 데이터 유형을 구문 분석하는 데 어떤 역할을 하는지 살펴보겠습니다. StringTokenizer와 같이 구문 분석에 사용할 수 있는 다른 방법도 사용할 수 있습니다.
추천기사
Java 구문 분석 문자열에 대한 안내였습니다. 여기서는 자바 구문 분석 문자열의 구문과 초기화에 대해 설명합니다. 자세한 내용은 다음 기사를 참조하세요.
위 내용은 자바 구문 분석 문자열의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!