/ / Count Delimiter in einer Zeichenfolge in Java - Java

Count Delimiter in einer Zeichenfolge in Java - Java

Ich habe eine Zeichenfolge in Java.

1|2|3|4|5|2|2|3|4|123441|234556|67783|56764|55454

Ich will ein Trennzeichen über String zählen. Bitte helfen Sie mir zu zählen und ich möchte nur 7 Delimiter Wert starten.

Antworten:

1 für die Antwort № 1

Sie können mit teilen | Charakter.

public static void main(String[] args) {
String s = "1|2|3|4|5|2|2|3|4|123441|234556|67783|56764|55454";
String[] strArr = s.split("\|");
System.out.println("Array : " + Arrays.toString(strArr));
System.out.println("Delimiter count : " + (strArr.length - 1)); // Prints 13
System.out.println("7th field : " + strArr[7]); // Prints 3
}

1 für die Antwort № 2

Sie können es mit regulären Ausdrücken lösen, indem Sie Pattern- und Matcher-Klassen verwenden:

    String s = "1|2|3|4|5|2|2|3|4|123441|234556|67783|56764|55454";
Pattern p = Pattern.compile("((\d+\|){7}).*");
Matcher m = p.matcher(s);
if (m.matches()) {
System.out.println(m.group(1));
}

Um den obigen Code zu verstehen, werfen Sie einen Blick auf reguläre Ausdrücke, z. http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html


1 für die Antwort № 3

Im Fall, wenn Ihre Eingabe string wenn etw wie: -

1|2|3|4|5|2|2|3|4|123441|234556|||

leere Werte zwischen Trennzeichen haben. Dann können Sie mit einer anderen Version von gehen split Funktion.

String[] strArr = s.split("\|", -1);

Sie müssen -1 als zweites Argument übergeben, andernfalls werden leere Strings entfernt.