我有一个字符串..我需要在这个字符串中搜索一些特定的文本,如果它存在需要返回的总数。 我知道如何归还特定地方的角色
String string = "Hi How are you";
b = string.contains("H") ;
但我需要获得多个角色,例如..我需要搜索' 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);
我知道它会返回'如何'
答案 0 :(得分:2)
您必须使用正则表达式。 Android为这类事情提供了Pattern class 。
答案 1 :(得分: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.");
答案 2 :(得分:1)
您可以创建一种方法来计算字符串中字符的频率:
public static int count(char character){
return str.toUpperCase().split((""+character).toUpperCase()).length - 1;
}
然后使用如下所示的方法:
b = string.count('H');
b = string.count('A');
答案 3 :(得分:1)
你可以这样做这里可以搜索三个字符的AJS ..如果你需要搜索它的小字符就像'AaJaSs'那样..
String string;
Pattern pattern = Pattern.compile("([AJS])"); //case insensitive
Matcher matcher = pattern.matcher(String);
int count = 0;
while (matcher.find()) count++;