2013-08-22 50 views
2

所以可以說我有以下類型發現在Java中正確的正則表達式模式

something **foo**garblesomething somethingelse 
something **foobar**blahblah somethingelse 
and so on 

的字符串數組所以基本上數據都三元

現在,串

預告關鍵的中間環節單詞「foo」和「foobar」

我想要做的是:

if "foo" in string: 
    return 1 
else if "foobar" in string: 
    return 2 
else -1 

如何在java中執行此操作? 感謝

+0

一個不太人爲的例子可能會有所幫助 - 例如,要解決這個確切問題,您可以先搜索「foobar」,如果找不到,則搜索「foo」。 –

+5

使用的具體方法是contains()。沒有理由使用正則表達式。 –

+0

['contains()'](http://docs.oracle.com/javase/7/docs/api/java/lang/String.html#contains(java.lang.CharSequence)) – arshajii

回答

7

只需使用String#contains(String)

if (str.contains("foobar")) 
    return 2; 
else if (str.contains("foo")) 
    return 1; 
else 
    return -1; 

重要的是檢查foobar之前foo否則將返回1,對於兩種情況。

+3

+1對於**不**使用正則表達式。 – jahroy