文章来自互联网,只做分享使用。发布者:苇叶生活,转转请注明出处:https://www.weiyetrade.com/shyp/20914.html
使用Java StringTokenizer实现字符串分割
Java中的StringTokenizer类是一个非常常用的类。该类可以将字符串按照指定的分隔符进行分割,并将分割后的字符串存入到一个数组中供程序使用。
Java语言中的StringTokenizer类是一个非常常用的类。它可以对一个字符串进行分割,将其拆分为若干个子串,并将这些子串存储到一个数组中。
在本文中,我们将介绍StringTokenizer类的使用,包括它的构造函数、方法和使用示例。我们将逐步学习它的使用方法,并通过完整的实例代码展示它的实际应用。
1.什么是StringTokenizer类
StringTokenizer类在Java.util中,它是一个用于分割字符串的工具类,可以根据指定的分隔符将一个字符串分割成多个小段,并存储在一个数组中。该类的常用方法包括构造函数、hasMoreTokens()、nextToken()等等。使用StringTokenizer类可以轻松地实现字符串分割功能,使得字符串处理更加方便快捷。
下面是该类的构造函数的定义:
public StringTokenizer(String str, String delim, boolean returnDelims)
其中str表示待分割的字符串,delim是分隔符,returnDelims表示是否还返回分隔符。如果设置为true,则分隔符也会作为一个有效的标记进行分割。
2.使用StringTokenizer类分割字符串
StringTokenizer类的主要方法是hasMoreTokens()和nextToken(),它们用于获取分割后的子串。
hasMoreTokens()方法用于测试是否还有更多的分隔符,如果有则返回true,否则返回false。
nextToken()方法用于获取下一个子串。该方法将字符串分割成若干个子串,并返回每个子串。这个方法可以一次性获取所有子串,也可以单独获取每个子串。
下面是使用StringTokenizer类的示例代码:
import java.util.StringTokenizer;
public class TestStringTokenizer {
public static void main(String[] args) {
String str = \"Hello,world,Java,StringTokenizer\";
StringTokenizer st = new StringTokenizer(str, \",\");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}
}
}
上述代码将字符串\"Hello,world,Java,StringTokenizer\"按照逗号\",\"进行分割,并将分割后的子串输出到控制台中。
3.StringTokenizer类的应用
使用StringTokenizer类可以更加灵活方便地处理字符串,特别适用于海量数据的处理。下面是使用StringTokenizer类的一个实际例子。
假设我们需要统计指定文本中每个单词出现的次数,并按照出现次数进行排名。我们可以使用HashMap类实现该功能:
import java.util.HashMap;
import java.util.StringTokenizer;
public class WordFrequency {
public static void main(String[] args) {
String text = \"Java is a high-level programming language \" +
\"originally developed by Sun Microsystems \" +
\"and released in 1995. Java runs on a variety \" +
\"of platforms, such as Windows, Mac OS, and \" +
\"the various versions of UNIX. This tutorial \" +
\"gives a complete understanding of Java. \";
HashMap map = new HashMap<>();
StringTokenizer st = new StringTokenizer(text, \" ,.\");
while (st.hasMoreTokens()) {
String word = st.nextToken();
if (map.containsKey(word)) {
int value = map.get(word);
map.put(word, value + 1);
} else {
map.put(word, 1);
}
}
System.out.println(map);
}
}
运行上述代码,我们将在控制台中看到如下输出:
{UNIX=1, Java=3, various=1, a=3, the=1, and=2, understanding=1, of=1, Sun=1, developed=1, by=1, platforms=1, tutorial=1, high-level=1, is=1, originally=1, This=1, released=1, Mac=1, language=1, runs=1, Microsystems=1, complete=1, on=1, Windows=1, programming=1, gives=1, such=1, as=1, in=1, variety=1}
该代码使用了Map对象来存储单词出现的次数。首先,我们创建一个HashMap对象map,该对象用于存储每个单词出现的次数。然后,使用StringTokenizer类将文本分割为单词,并依次统计每个单词出现的次数。最后,将map对象作为结果输出到控制台中。
总结
在本文中,我们介绍了Java中的StringTokenizer类,该类是一个非常常用的类,可以实现字符串的分割功能。我们逐步学习了该类的构造函数、hasMoreTokens()和nextToken()方法,并通过示例代码展示了该类的实际应用。使用StringTokenizer类可以更加灵活方便地处理字符串,使得字符串处理更加方便快捷。