首页 > Java > java教程 > 正文

Java 解析字符串

WBOY
发布: 2024-08-30 16:07:02
原创
695 人浏览过

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

相关标签:
来源:php
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!