Reguläre Ausdrücke

Status
Nicht offen für weitere Antworten.

java_1985

Mitglied
Hallo ich habe ein Problem, ich will die anzahl der wörter aus einem String raus kriegen. Ich habe mir überlegt es mit der Klasse RegEx zu arbeiten. Kennt sich damit jemand aus. Die Wörter werden bei einem Doppelpunkt getrennt aber nicht bei einem Koma. Wie kann ich mehrere Ausdrücke vorgeben wie (leerzeichen, . , ? usw...).

Java:
public class test {

	
  private static final String REGEX = "(:,)";

		    private static final String INPUT = "one:two:three:four,five";
	public static void main(String []args){
		Pattern csvPattern = Pattern.compile("REGEX");
		String [] csvPieces = csvPattern.split (INPUT);
		for (int i = 0; i < csvPieces.length; i++) {
		  System.out.println (csvPieces[i]);
		}
 
Beispiel:
Java:
for(String word : INPUT.split(":| |;|,")){
	System.out.println(word);
}
Der INPUT wird bei jeden Doppelpunkt ODER Leerzeichen ODER Semikolon ODER Komma getrennt

(Die Methode String#split erwartet einen RegEx Ausdruck, deswegen brauchs den Umweg über ein Pattern nicht)
 
Zuletzt bearbeitet:
wäre das nicht einfach [c]System.out.println(INPUT.split(":").length);[/c]
?
Ui... da musste ich erstmal überlegen, was dieser Beitrag mit den anderen zu tun hat. Aber Klar doch. Der TS wollte Wörter zählen. Deswegen scheint es so am besten zu gehen. Allerdings mit Schandros RegEx.
Java:
System.out.println(INPUT.split(":| |;|,").length);
@Edit: Im Englischen dürfte so, unabhängig von den Trennzeichen, Wörter zählen ja kein Problem mehr sein:
Java:
System.out.println(englishText.split("[^a-zA-Z]*").length);
 
Zuletzt bearbeitet von einem Moderator:
/edit : achherje, ja, stimmt, ich habe
Die Wörter werden bei einem Doppelpunkt getrennt aber nicht bei einem Koma
falsch interpretiert. dachte das wäre die vorraussetzung/definition (also four,five = 1 wort), bezog sich ja aber anscheinend auf seinen versuch :>
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.

Zurück
Oben