2012-07-03 152 views
-5

如何檢查字符串是否包含特定字符。 我有一個字符串像1244445g或1234G555或1234566R或R1234556我想檢查字符串是否有g/G或R/r,如何檢查?字符串包含

感謝,

+7

你甚至看過java.lang.String的javadoc嗎? –

+2

我們是否期望教java基礎知識? – 2012-07-03 08:22:39

+1

你有這麼多回應..你不接受一個回答? –

回答

2

看一看到Java文件並找到方法,該字符串類是提供像

String.contains(CharSequence c) 

JAVA DOC: Class String - Contains

只需使用

String s = "abcdg/Gefgh"; 
boolean b = s.contains("g/G"); 

到檢查指定的字符序列是否包含在sourc中e字符串。

編輯:

如果你正在尋找一個特定的字符(以大寫或小寫),你可能會做同樣的只有兩次:

c.contains("g"); 
c.contains("G"); 
+0

我想他想檢查資金或非資本g – Miquel

+0

@Miquel我認爲它也適用於搜索字符?看到編輯.. –

+0

當然,它肯定會工作,我只是因爲'indexOf(char)'和'contains(CharSequence)'的長度和複雜性而挑剔,它最終是一個普通的'contains(String )'搜索,並更昂貴一點。這可能對OP沒有任何影響。 – Miquel

1

您可以使用它方法String或者您可以使用Regex

line.contains("g"); 
line.contains("G"); 

所以和rR相似。

+0

你正在刺激「g/G」而不是字符串「g」或「G」 –

4

有了這樣的事情,最好的方法是檢查你正在使用的類的javadoc。在這種情況下,它是字符串,因此請查看here。然後尋找一個可以實現這個技巧的函數,比如在這種情況下,就是indexOf。這將查找char的第一次發生,因此它將返回它發生的位置,如果未找到則返回-1。

如果你想尋找大寫或小寫,你可以在toLowerCase()的回報中做到這一點,或者你可以看看正則表達式。

此外,請考慮使用google搜索,甚至檢查下一次在計算器中的類似問題。你會節省每個人的時間,包括你自己!

2
String[] strArr = {"1244445g","1234G555","1234566R","R1234556"}; 

for (String str in strArr) { 
    if (str.contains("g") || str.contains("G") || str.contains("r") || str.contains("R")) { 
     System.out.println(str + " : YES"); 
    } else { 
     System.out.println(str + " : NO"); 
    } 
}