Java中隐藏的字符StringTokeneizer/split?

Java中隐藏的字符StringTokeneizer/split?,java,stringtokenizer,Java,Stringtokenizer,我有一个文本文件,它的每一行都是这样的 author-title-kind 我有一个Java程序解析这个文件,它必须只返回作者是“example”的书。 我一次读一行,然后用StringTokeneizer或split()拆分字符串。 因此,我将获得3项:作者、标题、种类。 然后我检查第一个项目字符串是否等于“example”。 问题是我总是弄虚作假,从来都不是真的。 是否存在任何隐藏字符,使得此比较总是以false结束? 也许我应该用“example-”,或者“-example”…或者其他什

我有一个文本文件,它的每一行都是这样的

author-title-kind
我有一个Java程序解析这个文件,它必须只返回作者是
“example”
的书。 我一次读一行,然后用
StringTokeneizer
split()
拆分字符串。 因此,我将获得3项:
作者、标题、种类
。 然后我检查第一个项目字符串是否等于“example”。 问题是我总是弄虚作假,从来都不是真的。 是否存在任何隐藏字符,使得此比较总是以false结束?
也许我应该用
“example-”
,或者
“-example”
…或者其他什么来检查?

记住String.split()将正则表达式作为分隔符,而不仅仅是字符串。如果您想使用简单字符串进行基本字符串拆分,我会使用apache commons StringUtils.split()。

您能给我们看一下您的代码吗?您是将字符串与
==
还是与
“example.”进行比较?等于(您的数据)
?如果使用
==
,您应该会感兴趣。此外,您是否尝试在拆分后打印单个字符串变量,以查看它们是如何精确拆分的?如果您正在Eclipse、Netbeans或Intellij等IDE上开发,请尝试放置一些断点并进行调试,以查看您的令牌包含哪些值。我刚刚解决了这个问题。正如您所建议的,需要执行string1.equals(string2)来验证两个字符串是否相等。相反,我使用了=…仍然受到pythonHow的严重影响,在这种情况下,它将如何影响拆分。OP只需要在
-
上拆分,这只有在字符类中使用时才是特殊的,也就是在两个字符之间。True。我想OP也需要显示他的代码和文本文件。