Parsing String dalam java dikenali sebagai menukar data dalam format String daripada fail, input pengguna atau rangkaian tertentu. Parsing String ialah proses mendapatkan maklumat yang diperlukan dalam format String. Penghuraian rentetan dalam java boleh dilakukan dengan menggunakan kelas pembalut. Menggunakan kaedah Split, String boleh ditukar kepada tatasusunan dengan menghantar pembatas kepada kaedah split. Kaedah split adalah salah satu kaedah kelas pembalut.
Penghuraian rentetan juga boleh dilakukan melalui StringTokenizer. Kelas StringTokenizer membenarkan pembinanya memecahkan String menjadi token. StringTokenizer jauh lebih mudah daripada kelas lain. StringTokenizer ialah kelas warisan, jadi semua orang mesti mengelakkan penggunaan kelas ini.
IKLAN Kursus Popular dalam kategori ini JAVA MASTERY - Pengkhususan | 78 Siri Kursus | 15 Ujian Olok-olokMulakan Kursus Pembangunan Perisian Percuma Anda
Pembangunan web, bahasa pengaturcaraan, ujian perisian & lain-lain
Sintaks:
String strMsg = "An Example of String"; String delims = "[delimiters]+"; String tokenString = strMsg.split(delims);
Dalam sintaks di atas, pembatas berbilang boleh digunakan di dalam kurungan segi empat sama. Tanda “+” selepas kurungan menganggap berbilang pembatas sebagai pembatas tunggal.
Dalam java, String boleh ditukar menjadi char, Object, int, tarikh, masa, dll. Penghuraian rentetan dimulakan oleh kaedah kelas java tertentu mengikut jenis data yang diperlukan.
Dalam contoh ini, kita dapat melihat cara String menghuraikan ke dalam pelbagai jenis format seperti tarikh & integer. Begitu juga, kita boleh menggunakan kaedah lain untuk menukar rentetan kepada format lain.
Kod:
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); } }
Output:
Output untuk program yang diberikan di atas diberikan di bawah; kita boleh melihat bagaimana String ditukar kepada jenis data yang berbeza dengan menggunakan kaedah yang berbeza.
Dalam contoh ini, menggunakan kaedah pisah untuk menghuraikan rentetan kepada format tatasusunan.
Kod:
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); } } }
Output:
Contoh yang diberikan di atas mengandungi tiga bahagian, kesemua tiga bahagian menggunakan pembatas berbeza untuk menghuraikan String. Dalam tangkapan skrin yang diberikan di bawah, kita boleh melihat output program yang diberikan di atas.
Dalam contoh ini, kelas StringTokenizer digunakan untuk menghurai. Pembina kelas StringTokenizer mengambil dua parameter: yang pertama ialah rentetan & yang kedua ialah pembatas. Kelas ini mengandungi beberapa kaedah, iaitu hasMoreElements() untuk menyemak sama ada indeks seterusnya memegang sebarang nilai atau tidak manakala nextElement() mengembalikan nilai pada indeks seterusnya.
Kod:
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()); } } }
Output:
Output penghuraian di atas diberikan di bawah; kita dapat melihat cara nilai yang dipisahkan koma disenaraikan dalam lajur seterusnya.
Contoh ini menunjukkan cara kaedah indexOf boleh digunakan dengan berkesan untuk menghuraikan sebarang String dalam java. Dalam program ini, Rentetan di tengah ayat sedang ditukar kepada huruf besar.
Kod:
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); } }
Output: Output program yang diberikan di atas diberikan di bawah.
Dalam contoh ini, kita dapat melihat cara rentetan ditukar kepada tatasusunan aksara.
Kod:
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); } } }
Output:
Output untuk program yang diberikan di atas diberikan di bawah.
Dalam tangkapan skrin output yang dilampirkan, kita dapat melihat bagaimana String ditukar kepada tatasusunan aksara dengan menggunakan kaedah toCharArray().
Masalah memahami kod? Anda boleh mengambil bantuan pengaturcaraan Java daripada pakar Java dalam talian dan cemerlang dalam perjalanan pengekodan anda.
Dalam artikel yang diberikan di atas, kami telah melalui penghuraian, Penghuraian rentetan dalam Java, dll. Bagaimana kaedah pemisahan memainkan peranan dalam menghuraikan jenis data. Beberapa cara lain juga tersedia yang boleh digunakan untuk menghurai, seperti StringTokenizer.
Artikel Disyorkan
Ini telah menjadi panduan kepada Java Parse String. Di sini kita membincangkan sintaks dan permulaan bagi Java Parse String. anda juga boleh melihat artikel berikut untuk mengetahui lebih lanjut –
Atas ialah kandungan terperinci Rentetan Parse Java. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!