StringTokenizer

海阔天空的创业与创作 2004-10-11 10:03:22
public StringTokenizer(String str)

为指定字符串构造一个 string tokenizer 对象。 tokenizer 使用缺省的分隔符设置,它是 "\t\n\r":空格、制表符、换行符和回车。

------------------

我的问题是:我在字符串中加了\t \n \r ,但是试了一下,并不能识别出这些分隔符!

为什么?
...全文
188 15 打赏 收藏 转发到动态 举报
写回复
用AI写文章
15 条回复
切换为时间正序
请发表友善的回复…
发表回复
debug148 2004-11-21
  • 打赏
  • 举报
回复
  • 打赏
  • 举报
回复
知道了,揭帖
边城狂人 2004-10-12
  • 打赏
  • 举报
回复
上述代码的输出结果是:
aaaa
bbbb
cccc

dddd

如果对 ;, 的分隔,不需要那个空串,可以修改正则表达式为
[,.;]{1,}
边城狂人 2004-10-12
  • 打赏
  • 举报
回复
split 方法是按一定的分隔符把字符串分隔成 Sting[] 的

public static void main(String[] args) {
String s = "aaaa,bbbb.cccc;,dddd";
String[] sa = s.split("[,.;]");
for (int i = 0; i < sa.length; ++i) {
System.out.println(sa[i]);
}
}

注意,分隔符参数是用正则表达式表示的
  • 打赏
  • 举报
回复
split方法?

请指教
  • 打赏
  • 举报
回复
狂人的文章不错

揭帖
Tasia 2004-10-12
  • 打赏
  • 举报
回复
默认的分隔符是四个:空格,\t制表符、\r换行符和\n回车。
它们是或的关系,只要发现任何一个分隔符,就分割一次。
xiaohaiz 2004-10-12
  • 打赏
  • 举报
回复
对了,另外说一下,StringTokenizer处理\t\r\n是没有任何问题的。

<<
String src = "abc\t\r\n123";

List result = new ArrayList();
for( StringTokenizer st=new StringTokenizer(src, "\t\r\n"); st.hasMoreTokens(); ) {
result.add(st.nextToken());
}
assertEquals(2, result.size());
assertEquals("abc", result.get(0));
assertEquals("123", result.get(1));
>>
边城狂人 2004-10-12
  • 打赏
  • 举报
回复
我在这里有一篇关于 StringTokenizer 的示例文章:
http://www3.ccw.com.cn/club/bbs/showEssence.asp?id=18867
xiaohaiz 2004-10-12
  • 打赏
  • 举报
回复
<<
\n表示回车,\r是什么就不知道了
>>

错了,\n不是回车,\r才是。。。
\n = newline 换行
\r = return 回车
Yanbin_Q 2004-10-12
  • 打赏
  • 举报
回复
用jdk1.4提供的split方法吧,用正则表达式来表示字符串
边城狂人 2004-10-12
  • 打赏
  • 举报
回复
倒,这个你可以看看正则表达式啊,就表式前面的东西最少出现一次,最多不限。
  • 打赏
  • 举报
回复
很好!

狂人继续...

{1,}是什么意思?
asii 2004-10-11
  • 打赏
  • 举报
回复
java核心技术第一册中关于流那一章里演示了四个例子,其中一个就是利用“|”做为分隔符来读取和写入字符串的操作。
我前两天刚学的流,还有一点印像,但是水平有限也回答不上楼主的问题。
同时借道问一下,明明“\t\n\r”是表示三个字符,为什么会是四个字符。我的认为是\t表示制表,\n表示回车,\r是什么就不知道了,那还有一个呢?
还有,即然StringTokenizer默认是使用“\t\n\r”,那当要查找分隔符的时候,这几个默认的分隔符是与的关系(即每一个都要求有才算有)还是或的关系(只要有其中一个就行了呢)?
松耦合紧内聚 2004-10-11
  • 打赏
  • 举报
回复
code?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧