首頁 >Java >java教程 >Java 解析字串

Java 解析字串

WBOY
WBOY原創
2024-08-30 16:07:02776瀏覽

在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類別方法來初始化的。

範例#1

在這個範例中,我們可以看到 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是如何透過不同的方法轉換成不同的資料類型的。

Java 解析字串

範例#2

在本例中,使用 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);
}
}
}

輸出:

上面給出的範例包含三個部分,所有三個部分都使用不同的分隔符號來解析字串。在下面給出的螢幕截圖中,我們可以看到上面給出的程式的輸出。

Java 解析字串

範例#3

本例中使用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());
}
}
}

輸出:

上面的解析輸出如下;我們可以看到如何在下一列中列出逗號分隔值。
Java 解析字串

範例#4

這個例子展示如何有效地使用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);
}
}

輸出: 上面給出的程式的輸出如下。

Java 解析字串

範例#5

在此範例中,我們可以看到如何將字串轉換為字元陣列。

代碼:

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);
}
}
}

輸出:
上述程序的輸出如下。

Java 解析字串

在所附的輸出螢幕截圖中,我們可以看到如何使用 toCharArray() 方法將字串轉換為字元陣列。

無法理解程式碼?您可以在線上獲得 Java 專家的 Java 程式設計協助,並在您的程式設計之旅中脫穎而出。

結論 – Java 解析字串

在上面的文章中,我們已經了解了解析、Java中的字串解析等,split方法如何在解析資料型別中發揮作用。還有一些其他的方式可以用來解析,例如StringTokenizer。

推薦文章

這是 Java 解析字串的指南。這裡我們討論 Java 解析字串的語法和初始化。您也可以查看以下文章以了解更多資訊 –

  1. Java 中的控制語句
  2. PHP 中的字串
  3. Java 本地時間
  4. JavaScript parseInt

以上是Java 解析字串的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn