Count Delimiter в низ в Java - java

имам низ в Java.

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

аз искам да пресметнете разделител над низ, Моля да ми помогне в това как да разчитам и аз искам само началото 7 Delimiter стойност.

Отговори:

1 за отговор № 1

Можете да разделите използването | характер.

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 за отговор № 2

Можете да го разрешите с регулярни изрази, използвайки класове "Модели и мачове":

    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));
}

За да разберете кода по-горе, разгледайте регулярните изрази, напр. http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html


1 за отговор № 3

В случай, че ако вашият вход низ, ако sthg като това:

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

с празни стойности между разделителите. След това можете да отидете с различна версия на split функция.

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

Трябва да предадете -1 като втори аргумент за разделяне, в противен случай той премахва празните низове.