1

我正在读一个文件,每一行如下

Derek Simons, Jason baker
Jack Smith, Rob Thomson

问题出在我的标记器上

StringTokenizer st = new StringTokenizer(line, ",");
    while(st.hasMoreTokens()){ 
       System.out.println(st.nextToken());
    }

输出是

Derek Simons
 Jason baker
Jack Smith
 Rob Thomson

我怎样才能摆脱那个额外的空白?这样输出将是

Derek Simons
Jason baker
Jack Smith
Rob Thomson

任何帮助表示感谢!

4

4 回答 4

1

我不知道您使用的是哪种编程语言,但在许多语言中都有一种叫做 Trim() 的东西。所以你做 s.Trim();,其中 s 是字符串。这将删除所有空白

于 2011-02-15T07:18:03.173 回答
1

如果输入始终采用您描述的形式,您可以避免手动修剪每个字符串:

String[] tokens = line.split(",\\s*")

现在tokens将包含第二个标记中没有前导空格的每个名称。

于 2011-02-15T07:25:30.110 回答
0

您是否考虑过使用.trim方法?

返回字符串的副本,省略前导和尾随空格。

于 2011-02-15T07:19:39.597 回答
0

您可以使用 trim() 甚至只是将 StringTokenizer 的分隔符指定为“,”(逗号后跟一个空格),而不仅仅是“,”。

于 2011-02-15T07:37:03.480 回答