【发布时间】:2021-10-25 09:55:56
【问题描述】:
我有这个输入字符串:
21. Sponge Cake by Charlie Montoya [2014-10-13]
我正在尝试解析字符串以从中提取信息,即:
id = "21"; title = "海绵蛋糕"; 作者=“查理蒙托亚”; 日期=“2014-10-13”;
我正在使用 StringTokenizer:
StringTokenizer tokenizer = new StringTokenizer(line, " ");
System.out.println("id? : "+ tokenizer.nextToken(".").trim());
System.out.println("title? : "+ tokenizer.nextToken("by").trim());
System.out.println("author? : "+tokenizer.nextToken().trim());
System.out.println("date? : "+tokenizer.nextToken("[").trim());
我的输出是:
id? : 21
title? : . Sponge Cake
author? : Charlie Monto
date? : ya
这里有各种各样的错误: 标题前面有“。”这应该是 id 之后的分隔符。 作者姓名的最后 2 个字符出现在日期字段中 缺少实际日期。
我该如何解决这些问题?
【问题讨论】:
-
StringTokenizer有点过时了。我建议改用Scanner。
标签: java stringtokenizer