Java での文字列の解析は、ファイル、ユーザー入力、または特定のネットワークからのデータを文字列形式に変換することとして知られています。文字列の解析は、必要な情報を文字列形式で取得するプロセスです。 Java での文字列解析は、ラッパー クラスを使用して実行できます。 Split メソッドを使用すると、split メソッドに区切り文字を渡すことで String を配列に変換できます。 Splitメソッドはラッパークラスのメソッドの一つです。
文字列の解析は StringTokenizer を通じて行うこともできます。 StringTokenizer クラスを使用すると、コンストラクターが String をトークンに分割できるようになります。 StringTokenizer は他のクラスよりもはるかに単純です。 StringTokenizer はレガシー クラスであるため、誰もがこのクラスの使用を避ける必要があります。
広告 このカテゴリーの人気コース JAVA マスタリー - スペシャライゼーション | 78 コース シリーズ | 15 回の模擬テスト無料ソフトウェア開発コースを始めましょう
Web 開発、プログラミング言語、ソフトウェア テスト、その他
構文:
String strMsg = "An Example of String"; String delims = "[delimiters]+"; String tokenString = strMsg.split(delims);
上記の構文では、角かっこ内で複数の区切り文字を使用できます。括弧の後の「+」記号は、複数の区切り文字を 1 つの区切り文字として扱います。
Java では、文字列を char、Object、int、日付、時刻などに変換できます。文字列の解析は、必要なデータ型に応じて、特定の 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); } } }
出力:
上記の例には 3 つのセクションが含まれており、その 3 つのセクションはすべて、文字列の解析に異なる区切り文字を使用しています。以下のスクリーンショットでは、上記のプログラムの出力を確認できます。
この例では、StringTokenizer クラスが解析に使用されます。 StringTokenizer クラスのコンストラクターは 2 つのパラメーターを取ります。最初のパラメーターは文字列で、2 番目のパラメーターは区切り文字です。このクラスにはいくつかのメソッドが含まれています。つまり、次のインデックスが値を保持しているかどうかをチェックするための hasMoreElements() ですが、 nextElement() は次のインデックスの値を返します。
コード:
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() メソッドを使用して String が文字の配列にどのように変換されるかを確認できます。
コードを理解するのが難しいですか?オンラインで Java 専門家から Java プログラミングの支援を受けて、コーディング作業を効率的に進めることができます。
上記の記事では、解析、Java での文字列解析などについて説明しました。データ型の解析において分割メソッドがどのような役割を果たすかについて説明しました。 StringTokenizer など、解析に使用できる他の方法も利用できます。
おすすめ記事
これは Java 解析文字列のガイドです。ここでは、Java 解析文字列の構文と初期化について説明します。詳細については、次の記事もご覧ください –
以上がJava 解析文字列の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。