2012-07-03 232 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"); 
    } 
}