您的位置:首页 > 其它

字符串分割 超级简单的api运用 StringTokenizer介绍与实例

2010-10-09 10:26 435 查看
string tokenizer 类允许应用程序将字符串分解为标记。tokenization 方法比
StreamTokenizer
类所使用的方法更简单。
StringTokenizer
方法不区分标识符、数和带引号的字符串,它们也不识别并跳过注释。 可以在创建时指定,也可以根据每个标记来指定分隔符(分隔标记的字符)集。

StringTokenizer
的实例有两种行为方式,这取决于它在创建时使用的
returnDelims
标志的值是
true
还是
false


如果标志为
false
,则分隔符字符用来分隔标记。标记是连续字符(不是分隔符)的最大序列。

如果标志为
true
,则认为那些分隔符字符本身即为标记。因此标记要么是一个分隔符字符,要么是那些连续字符(不是分隔符)的最大序列。

StringTokenizer 对象在内部维护字符串中要被标记的当前位置。某些操作将此当前位置移至已处理的字符后。

通过截取字符串的一个子串来返回标记,该字符串用于创建 StringTokenizer 对象。

下面是一个使用 tokenizer 的实例。代码如下:


StringTokenizer st = new StringTokenizer("this is a test");
while (st.hasMoreTokens()) {
System.out.println(st.nextToken());
}


输出以下字符串:


this
is
a
test


StringTokenizer 是出于兼容性的原因而被保留的遗留类(虽然在新代码中并不鼓励使用它)。建议所有寻求此功能的人使用 String 的 split 方法或 java.util.regex 包。

下面的示例阐明了如何使用 String.split 方法将字符串分解为基本标记:


String[] result = "this is a test".split("\\s");
for (int x=0; x<result.length; x++)
System.out.println(result[x]);


输出以下字符串:


this
is
a
test自己编写多分隔符的字符串分割:

/**  * 分隔字符串
* @param srcStr 被分隔的字符串
* @param splitChars 多个分隔符
* @return 分隔结果
*/
public static List<String> splitString(String srcStr,String splitChars)
{  if(isBlank(srcStr))
{   return null;  }
List<String> strList=new ArrayList<String>();  StringTokenizer tok=new StringTokenizer(srcStr,splitChars);  while(tok.hasMoreTokens()){   strList.add(tok.nextToken());
}
return strList; }
[/code]
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: