2014-04-04 209 views
0

我有一个字符串..我需要搜索该字符串中的某些特定文本,如果它存在总数需要返回。 我懂得回报特定地点搜索字符串中的特定字符

String string = "Hi How are you"; 
b = string.contains("H") ; 

的角色,但我需要获得example..I多个字符需要寻找“A”和“S”在字符串中,我需要的次数它来了。

我将如何编写代码。我知道如何在特定的地方搜索并搜索特定的字符。但是,如何超过我的性格并返回它的总数。

String string = "Hai How are you!"; 
char aChar = anotherPalindrome.charAt(9); 

我知道它会重现第9个地方的角色。

String string = "Niagara. O roar again!"; 
String roar = string.substring(5, 7); 

我知道它会回报你“如何”

+1

您需要将字符串拆分为字符数组,然后循环以匹配所需的字符。在每场比赛中统计你的变数! – Saqib

回答

1

你可以在这里这样做三个字符AJS可以被搜索..如果你需要搜索它的小字符giv e like'AaJaSs'..

String string; 
Pattern pattern = Pattern.compile("([AJS])"); //case insensitive 
Matcher matcher = pattern.matcher(String); 
int count = 0; 
while (matcher.find()) count++; 
+0

感谢Roshanpeter它工作正常.. – Jocheved

1

尝试使用indexOf()方法的帮助循环。

实施例:

String exampleString = "Hai How are you!"; 
String searchedString = "H"; 
int index = exampleString.indexOf(searchedString , 0); 
int counter = 0; 

while(index != -1) { 
    counter++; 
    int index = exampleString.indexOf(searchedString , index); 
} 

System.out.println("The character " + searchedString + " occurs " + counter + " times."); 
1

可以使一个方法来计算在字符串中的字符的频率:

public static int count(char character){ 
    return str.toUpperCase().split((""+character).toUpperCase()).length - 1; 
} 

然后使用此方法,如下所示:

b = string.count('H'); 
b = string.count('A');