一.split
根据匹配给定的正则表达式来拆分此字符串。此方法返回的数组包含此字符串的子字符串,每个子字符串都由另一个匹配给定表达式的子字符串终止,或者由此字符串末尾终止。数组中的子字符串按它们在此字符串中出现的顺序排列。如果表达式不匹配输入的任何部分,那么所得数组只具有一个元素,即此字符串。
String[] split(String regex,int limit)此方法的运用在API中得很详细.
limit 参数控制模式应用的次数,因此影响所得数组的长度。如果该限制 n 大于 0,则模式将被最多应用 n - 1 次,数组的长度将不会大于 n,而且数组的最后一项将包含所有超出最后匹配的定界符的输入。如果 n 为非正,那么模式将被应用尽可能多的次数,而且数组可以是任何长度。如果 n 为 0,那么模式将被应用尽可能多的次数,数组可以是任何长度,并且结尾空字符串将被丢弃。
例如,字符串 "boo:and:foo" 使用这些参数可生成以下结果:
Regex Limit 结果
: 2 { "boo", "and:foo" }
: 5 { "boo", "and", "foo" }
: -2 { "boo", "and", "foo" }
o 5 { "b", "", ":and:f", "", "" }
o -2 { "b", "", ":and:f", "", "" }
o 0 { "b", "", ":and:f" }
调用此方法的 str.split(regex, n) 形式与以下表达式产生的结果完全相同:
Pattern.compile(regex).split(str, n)
对于字符串的分割处理使用split是想当方便的...
二.StringTokenizer
stringtokenizer 类允许应用程序将字符串分解为标记。在该类中包含了几个重要的方法.
int CountTokens() 计算在生成异常之前可以调用此 tokenizer 的 nextToken 方法的次数。
boolean hasMoreElements()返回与 hasMoreTokens 方法相同的值。
boolean hasMoreTokens()测试此 tokenizer 的字符串中是否还有更多的可用标记。
Object nextElement()除了其声明返回值是 Object 而不是 String 之外,它返回与 nextToken 方法相同的值。
String nextToken()返回此 string tokenizer 的下一个标记。
StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 String 的 split 方法或java.util.regex 包。
三.一个面试题
对一个字符串,单词之间以空格分割,试以单词为单位反序打印(如:I Love China结果为:China Love I)
做的细想一般是将该字符串中的每个单词保存在String[]里然后反序打印,这里就需要字符串分割的方法了...
使用split:
static String str = "I Love China";
public static void splitTest() {
String[] result = str.split(" ",-1);
for(int i = result.length - 1; i >= 0; i--) {
System.out.print(result[i] + " ");
}
}
使用StringTokenizer:
static String str = "I Love China";
public static void StringTokenizerTest() {
StringTokenizer st = new StringTokenizer(str);
String[] strArray = new String[st.countTokens()];
for (int i = strArray.length - 1; i >= 0; i--) {
strArray[i] = st.nextToken() + " ";
}
for(String s : strArray) {
System.out.print(s);
}
}//看上去此方法有点多此一举,使用split更为方便
分享到:
相关推荐
import java.util.StringTokenizer; /** * * @author lushuaiyin * */ public class StringTokenizerTest { /** * @param args */ public static void main(String[] args) { // TODO Auto-generated...
看过c#的split regex等,还是有时候会需要像java StringTokenizer 一样的功能,所以转载一个
StringTokenizer的用法
用delphi实现java的StringTokenizer类的功能。在原来曾青松版本的基础上修复bug完成的。
StringTokenizer tool class
主要介绍了JAVA StringBuffer类与StringTokenizer类代码解析,具有一定借鉴价值,需要的朋友可以参考下
StringTokenizer 马克-to-win java视频 字符串解析器
本段代码 用于测试StringTokenizer用法/** * 测试StringTokenizer,继承Enumeration; * @author DELL */
下面小编就为大家带来一篇基于Java中的StringTokenizer类详解(推荐)。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
Write a program called StringTokenizer1.java that accepts a string, looks for commas within the string, and breaks the string up into the parts separated by the comma. For example, the string ...
StringTokenizer 马克-to-win java视频 字符串解析器
Java 实例 - 字符串分隔(StringTokenizer)源代码-详细教程.zip
java文档String和StringTokenizer 马克-to-win java视频 字符串解析器
Java-StringTokenizer1 这个文件解释了 StringTokenizer 的工作。
编写一个程序,输入一行文本,采用StringTokenizer类的对象,将文本符号化,并以逆序输出语言符号。
java常用类的使用方法
学会使用String.split方法,Scanner类,StringTokenizer类分解字符串。 [*]利用Formatter类的printf或format方法格式化输出字符串对象。(System.out对象封装了这两个方法)。 第10章 基本数据结构 ...
Arduino-StringTokenizer-库一个非常简单的arduino库,可以使用Java(如string-tokenizer函数)来使用定界符分割字符串。 基本说明: 参数:用于标记化的字符串; 分隔符字符串职能 : (boolean)hasNext()-如果...
StringTokenizer类的使用方法