在java中解析字串被稱為從檔案、使用者輸入或某個網路將資料轉換為字串格式。解析字串是取得字串格式所需資訊的過程。 java中的字串解析可以透過使用包裝類別來完成。使用 Split 方法,可以透過將分隔符號傳遞給 split 方法將字串轉換為陣列。 split方法是包裝類別的方法之一。
字串解析也可以透過StringTokenizer來完成。 StringTokenizer 類別允許其建構子將字串分解為標記。 StringTokenizer 比其他類別簡單得多。 StringTokenizer 是遺留類,所以大家一定要避免使用該類別。
廣告 該類別中的熱門課程 JAVA 掌握 - 專業化 | 78 課程系列 | 15 次模擬測驗開始您的免費軟體開發課程
網頁開發、程式語言、軟體測試及其他
文法:
String strMsg = "An Example of String"; String delims = "[delimiters]+"; String tokenString = strMsg.split(delims);
在上面的語法中,方括號內可以使用多個分隔符號。括號後的“+”號將多個分隔符號視為單一分隔符號。
在java中,String可以轉換為char、Object、int、date、time等。字串解析是根據資料型別的需要,透過某個java類別方法來初始化的。
在這個範例中,我們可以看到 String 如何解析為不同類型的格式,例如日期和整數。同樣,我們可以使用其他方法將字串轉換為其他格式。
代碼:
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是如何透過不同的方法轉換成不同的資料類型的。
在本例中,使用 split 方法將字串解析為陣列格式。
代碼:
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 類別的建構子有兩個參數:第一個是字串,第二個是分隔符號。這個類別包含一些方法,即 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() 方法將字串轉換為字元陣列。
無法理解程式碼?您可以在線上獲得 Java 專家的 Java 程式設計協助,並在您的程式設計之旅中脫穎而出。
在上面的文章中,我們已經了解了解析、Java中的字串解析等,split方法如何在解析資料型別中發揮作用。還有一些其他的方式可以用來解析,例如StringTokenizer。
推薦文章
這是 Java 解析字串的指南。這裡我們討論 Java 解析字串的語法和初始化。您也可以查看以下文章以了解更多資訊 –
以上是Java 解析字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!