2014-04-04 181 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');