.Net Core Переход от аннотаций данных к Fluent API и FluentValidation

В качестве дополнения к ответа Bart Kiers я хочу добавить, что вместо использования трех точек ... в выражении регулярных выражений, которые представляют три символа, вы можете написать .{3}, которые имеет тот же смысл.

Тогда код будет выглядеть следующим образом:

String bitstream = "00101010001001010100101010100101010101001010100001010101010010101";
System.out.println(java.util.Arrays.toString(bitstream.split("(?<=\\G.{3})")));

С этим было бы проще изменить длину строки, и создание функции теперь разумным с переменной длиной входной строки. Это может быть сделано следующим образом:

public static String[] splitAfterNChars(String input, int splitLen){
    return input.split(String.format("(?<=\\G.{%1$d})", splitLen));
}

Пример в IdeOne: http://ideone.com/rNlTj5

0
задан jimmy 19 March 2019 в 09:15
поделиться