2010-08-26 131 views
-1

我试图找到一个字符串斜杠...查找字符串A /符号

这似乎并不工作:

if ("/test".indexOf("/") > -1) { 

我在做什么错?

有趣的是...我想这:

if ("!test".indexOf("!") > -1) { 

和它的作品!我也试过\ /为此...帮助?

+7

'的System.out.println( “/测试” .indexOf( “/”)> -1);''打印这里是真的。你的问题肯定在别的地方。相信我。 – BalusC 2010-08-26 16:03:31

+0

@丹 - 你如何断定它不起作用? 是真的Java吗? – 2010-08-26 16:16:48

+0

@Carlos:没有语言,第一行不行,但第二行不行。 (AFAIK) – SLaks 2010-08-26 16:18:18

回答

1

要测试一个字符串与给定的字符开始,使用charAt(0)来获取charracter

if (text.charAt(0) == '/') { 

startsWith(String)检查多个字符(a字符串)

if (text.startsWith("/kick ")) { 

编辑:
使用trim()如果需要删除前导和结尾间隔:

if (text.trim().charAt(0) == '/') { 
6

使用contains

if("/test".contains("/")) 

但是您的两个方法应该工作,在我的测试都没有工作。

+0

这不回答问题。这基本上是一样的。这只是Java 1.5中介绍的简写。检查源代码。 – BalusC 2010-08-26 16:02:31

+0

谢谢,这工作! – nn2 2010-08-26 16:06:16

+3

@丹:仍然,你的*实际*问题是在别的地方。 – BalusC 2010-08-26 16:10:26

6

您的say.getText()调用可能返回的字符串不是以/开头。
(见注释)

例如,它可能会与(U + 2215 DIVISION斜线)来开始,或者用的空间(或具有\反斜杠)。

编辑:你有/之前空白 或者非打印字符 。         相信我

+0

是的。相信我。 – nn2 2010-08-26 16:02:03

+7

不是。相信我。 – SLaks 2010-08-26 16:03:32

+2

如果您尝试在问题中输入的代码行,它是否工作? – SLaks 2010-08-26 16:04:00

3

必须有别的东西。

public static void main(String[] args) 
{ 
     System.out.println("!test".indexOf("!")); 
     System.out.println("/test".indexOf("/")); 
} 

这正确打印

0 
0