Wie wir jede Zeichenfolge überprüfen können, die ein beliebiges Zeichen enthält, wie die Zeit kann .... Beispiel: Engineering ist eine Zeichenfolge enthält, wie oft ‚g ' in kompletten StringCheck wie oft Zeichenfolge enthält Zeichen ‚g‘ in qualifizierten String
Antwort
verwenden regex [g]
die Zeichen zu finden und die Ergebnisse zählen, wie unten:
Pattern pattern = Pattern.compile("[g]");
Matcher matcher = pattern.matcher("engineering");
int countCharacter = 0;
while(matcher.find()) {
countCharacter++;
}
System.out.println(countCharacter);
Wenn Sie Groß- und Kleinschreibung Zählung möchten, verwenden Sie regex als [gG]
im Pattern .
Ich würde verwenden eine Pattern
und Matcher
:
String string = "engineering";
Pattern pattern = Pattern.compile("([gG])"); //case insensitive, use [g] for only lower
Matcher matcher = pattern.matcher(string);
int count = 0;
while (matcher.find()) count++;
Sie können versuchen, folgende:
String str = "engineering";
int letterCount = 0;
int index = -1;
while((index = str.indexOf('g', index+1)) > 0)
letterCount++;
System.out.println("Letter Count = " + letterCount);
Versuchen Sie, diese
int count = StringUtils.countMatches("engineering", "e");
Mehr über StringUtils kann von der Frage gelernt werden: How do I use StringUtils in Java?
Woher bekommst du das 'StringUtils'? –
Bitte überprüfen Sie diese commons.apache.org/lang/api-2.5/org/apache/commons/lang/StringUtils.html – sunleo
Obwohl Regex wird gut funktionieren, aber es ist nicht wirklich erforderlich hier. Sie können es einfach mit einem for-loop
zu einem count
für ein Zeichen pflegen.
Sie müssten Ihre Zeichenfolge in ein char-Array konvertieren: -
String str = "engineering";
char toCheck = 'g';
int count = 0;
for (char ch: str.toCharArray()) {
if (ch == toCheck) {
count++;
}
}
System.out.println(count);
oder, können Sie es auch tun ohne-charArray
Umwandlung: -
for (int i = 0; i < str.length(); i++) {
if (str.charAt(i) == toCheck) {
count++;
}
}
Bitte überprüfen Sie, dass es keine Übereinstimmung gibt. – sunleo
@sunleo .. Für welchen Code? Nun, beide funktionieren gut. Ich habe es einfach überprüft. –
@sunleo .. Bitte versuchen Sie es. Beide geben in meinem Fall "3" als Zahl an. –
String s = "engineering";
char c = 'g';
s.replaceAll("[^"+ c +"]", "").length();
Als Anmerkung, wenn 'char c' von Benutzereingaben stammt, ist dieser Ansatz anfällig für Regex-Injektion. (ähnlich wie bei SQL-Injection) – Tuupertunut
Sie kann es durchlaufen und den gewünschten Buchstaben zählen.
public class Program {
public static int countAChars(String s) {
int count = 0;
for(char c : s.toCharArray()) {
if('a' == c) {
count++;
}
}
return count;
}
}
oder Sie können StringUtils verwenden, um eine Anzahl zu erhalten.
int count = StringUtils.countMatches("engineering", "e");
Ich weiß, das ist und alte Frage, aber es ist eine Option, die nicht beantwortet wurde, und es ist ziemlich einfach Einzeiler:
int count = string.length() - string.replaceAll("g","").length()
Ich denke, Sie sollten beginIndex und endIndex zum Teilstring hinzufügen –
dies ist eine sehr, sehr alte Frage, aber das könnte jemand helfen ("_")
Sie einfach nur diesen Code
public static void main(String[] args){
String mainString = "This is and that is he is and she is";
//To find The "is" from the mainString
String whatToFind = "is";
int result = getCountOf(mainString, whatToFind);
System.out.println(result);
}
public static int countMatches(String mainString, String whatToFind){
String tempString = mainString.replaceAll(whatToFind, "");
//this even work for on letter
int times = (mainString.length()-tempString.length())/whatToFind.length();
//times should be 4
return times;
}
Verwendung org.apache.c verwenden können ommons.lang3 Paket zur Verwendung StringUtils Klasse. laden Sie die JAR-Datei herunter und legen Sie sie in den lib-Ordner Ihrer Webanwendung.
int count = StringUtils.countMatches("engineering", "e");
- 1. Check String Nur Zeichen enthalten
- 2. Check String, ob es nur lateinische Zeichen enthält?
- 3. wie überprüfen, ob Zeichenfolge enthält Zeichen ‚+‘
- 4. Check String enthält innen HashTable Wert
- 5. Javascript: Wie oft ein Zeichen tritt in einem String
- 6. Zählen, wie oft ein Zeichen ohne Zeichenfolge eingegeben wird
- 7. Wildcard Zeichen in CHECK in Tabelle erstellen als String genommen
- 8. Überprüfen, ob eine Zeichenfolge nur einige Zeichen in Javascript enthält
- 9. Finden von Zeichen zwischen Symbolen in String
- 10. Nächstes Zeichen Check in Java
- 11. Wie überprüft man, ob ein String ein bestimmtes Zeichen enthält?
- 12. leerer String Check-in-Trigger
- 13. regex check string in camel fall ohne nicht-zeichen-symbole
- 14. wie zu überprüfen, ob eine Zeichenfolge ein Zeichen enthält
- 15. Wie oft tritt ein Zeichen in der ersten Position gegenüber der zweiten Position einer Zeichenfolge auf?
- 16. Wie überprüft man, ob ein String einen zweiten String mit seinen Zeichen in der Reihenfolge enthält?
- 17. Überprüfen, ob Zeichenfolge bestimmte Zeichen enthält
- 18. Überprüfen Sie, ob eine Zeichenfolge enthält Zeichen
- 19. Wie ersetze ich ein Zeichen in einer Zeichenfolge, die in Python oft mit einem anderen Zeichen wiederholt wird?
- 20. Ruby Check-Bedingung, wenn eine Zeichenfolge mehrere verschiedene Zeichenfolgen enthält?
- 21. Definieren einer konstanten Zeichenfolge enthält nicht druckbare Zeichen in C
- 22. Zeichenfolge enthält nur Alphabete
- 23. REGEXP_LIKE Check für Symbol in Zeichenfolge
- 24. Windows-Check-String enthält nicht eine andere Arbeits
- 25. PHP: Überprüfen Sie, ob Zeichenfolge Zeichen NICHT in Array enthält
- 26. prüft Zeichenfolge „http: //“ enthält
- 27. PHP String Enthält Integer
- 28. Check string & entfernen Sie unerwünschte Zeichen aus dem Wert
- 29. String enthält nur eine bestimmte Menge von Zeichen
- 30. Python: Überprüfen, ob eine Zeichenfolge chinesisches Zeichen enthält?
Konvertieren Sie es in ein Zeichenarray und durchlaufen Sie es, indem Sie nach Übereinstimmungen suchen. Check out [java.util.String] (http://docs.oracle.com/javase/7/docs/api/java/lang/String.html) – MadProgrammer