如何使用Java的StringTokenizer类对字符串进行分割和合并?
发布时间:2023-06-06 16:16:14
StringTokenizer是Java类库中的一个字符串分词器,可以将一个字符串按照指定的分隔符拆分成多个子串。这样在开发中就可以方便地处理字符串,提高工作效率。本文将介绍如何使用Java的StringTokenizer类对字符串进行分割和合并。
使用StringTokenizer分割字符串
在Java中,StringTokenizer类提供两个重载的构造方法供我们使用。分别是:
1. public StringTokenizer(String str, String delim)
2. public StringTokenizer(String str, String delim, boolean returnDelims)
个构造方法中,str参数表示需要被分割的字符串,delim参数用作分隔符,用于指定在哪些字符上进行拆分。例如:
String str = "Java;Python;C++;Ruby";
String delim = ";";
StringTokenizer tokenizer = new StringTokenizer(str, delim);
while (tokenizer.hasMoreTokens()) {
System.out.println(tokenizer.nextToken());
}
输出结果为:
Java Python C++ Ruby
在第二个构造方法中,多了一个returnDelims参数,当它为true时,表示分割结果中将保留分隔符。
String str = "Java;Python;C++;Ruby";
String delim = ";";
StringTokenizer tokenizer = new StringTokenizer(str, delim, true);
while (tokenizer.hasMoreTokens()) {
System.out.println(tokenizer.nextToken());
}
输出结果为:
Java ; Python ; C++ ; Ruby
以上例子中,分隔符为“;”,可以看出默认不返回分隔符。
使用StringTokenizer合并字符串
StringTokenizer是用来分割字符串的类,那么如何使用它合并字符串呢?可以通过自己拼接字符串来实现。
String[] arr = {"Java", "Python", "C++", "Ruby"};
String delimiter = ",";
StringBuilder sb = new StringBuilder();
for(String s : arr) {
sb.append(s).append(delimiter);
}
String result = sb.length() > 0 ? sb.substring(0, sb.length() - 1) : "";
System.out.println(result);
输出结果为:
Java,Python,C++,Ruby
以上例子中,首先通过StringBuilder来拼接字符串,之后在最后一个拼接的字符串后不加分隔符即可达到合并字符串的效果。
以上就是如何使用Java的StringTokenizer类对字符串进行分割和合并的方法,希望对大家有所帮助。
