2010-08-26 86 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