在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中文网其他相关文章!