2

我需要拆分一个字符串“Kermit D.Frogge”,所以这是我使用的代码:

firstName = strTkn.nextToken();
middleInitial = strTkn.nextToken("."); 
//changing the delimiters to a . because there is no space between D and Frogge
lastName = strTkn.nextToken(" "); 
//changing delimiters back to a space
hourlyWage = Double.parseDouble(strTkn.nextToken());

然而,结果是:

Kermit
D
.Frogge

我将如何使用字符串标记器而不保留句点?

4

4 回答 4

3

使用带有两个参数的构造函数。第二个参数是一个字符串,其字符是分隔符。

StringTokenizer st = new StringTokenizer(string, " .");
于 2012-10-25T13:19:14.310 回答
1

一种可能的解决方案

strTkn.replace("."," ");
String[] name=strTkn.split(" ");
于 2012-10-25T13:19:26.340 回答
0

应该使用在中间标记上设置的分隔符

String middleInitial = strTkn.nextToken(" .");
于 2012-10-25T13:36:32.180 回答
0

如果他的名字是“Kermit D. Frogge”(注意中间名首字母和姓氏之间的空格),那么他的名字将是“Kermit”,他的中间名首字母将是“D.”,而他的姓氏将是“青蛙”。

然后,您可以使用该replaceAll()方法摆脱“。”。

于 2012-10-25T13:22:47.657 回答