Package xyz.cofe.text

Class Text


  • public class Text
    extends java.lang.Object
    Функции по обработки текста
    • Nested Class Summary

      Nested Classes 
      Modifier and Type Class Description
      static class  Text.Convertors
      Конверторы текста
      static interface  Text.ParseStringResult
      Результат анализа текста
      static class  Text.Predicates
      Текстовые предикаты
      static class  Text.SimpleParseResult
      Результат парсинга текстовой строки
    • Field Summary

      Fields 
      Modifier and Type Field Description
      protected static java.util.Map<java.lang.String,​java.lang.String> text2HtmlCharMap  
    • Constructor Summary

      Constructors 
      Constructor Description
      Text()  
    • Method Summary

      All Methods Static Methods Concrete Methods 
      Modifier and Type Method Description
      static java.lang.Iterable<java.lang.String> align​(java.lang.Iterable<java.lang.String> lines, Align align, java.lang.String padText, int len)
      Выравнивает текст по краю заданной длинны
      static java.lang.String[] align​(java.lang.String[] lines, Align align, java.lang.String padText, int len)
      Выравнивает текст до определенной длины.
      static java.lang.String align​(java.lang.String text, Align align, java.lang.String padText, int len)
      Выравнивает текст до определенной длинны.
      static java.lang.String align​(java.lang.String text, Align align, java.lang.String padText, int len, boolean trimText)
      Выравнивает текст до определенной длинны.
      static java.lang.String attrDecode​(java.lang.String attr)
      Декодирование атрибута HTML
      static java.lang.String attrEncode​(java.lang.String text)
      Кодирует текст в html экранированный текст.
      Экранирует символы: < в &lt; > в &gt; & в &amp; " в &quot; ' в &apos;
      static xyz.cofe.iter.Eterable<java.lang.String> convert​(java.lang.Iterable<java.lang.String> source, java.util.function.Function<java.lang.String,​java.lang.String> convertor)
      Обрабатывает набор строк согласно ковертору, т.е. каждая строка пропускается через конвертор и его результат попадает результирующий набор
      static java.lang.String[] convert​(java.lang.String[] source, java.util.function.Function<java.lang.String,​java.lang.String> convertor)
      Обрабатывает набор строк согласно ковертору, т.е. каждая строка пропускается через конвертор и его результат попадает результирующий набор
      static byte[] decodeHex​(java.lang.String bytes)
      Возвращает баты их hex представления
      static byte[] decodeHex​(java.lang.String bytes, int offset, int len)
      Возвращает баты их hex представления
      static java.lang.Byte[] decodeHexBytes​(java.lang.String bytes)
      Возвращает баты их hex представления
      static java.lang.Byte[] decodeHexBytes​(java.lang.String bytes, int offset, int len)
      Возвращает баты их hex представления
      static java.util.List<java.lang.String> dropFirstEmptyLines​(java.lang.Iterable<java.lang.String> lines)
      Убирает из набора строк первые пустые (null или их длина меньше 1) строки
      static java.lang.String[] dropFirstEmptyLines​(java.lang.String[] lines)
      Убирает из набора строк первые пустые (null или их длина меньше 1) строки
      static java.util.List<java.lang.String> dropLastEmptyLines​(java.lang.Iterable<java.lang.String> lines)
      Убирает из набора строк последние пустые (null или их длина меньше 1) строки
      static java.lang.String[] dropLastEmptyLines​(java.lang.String[] lines)
      Убирает из набора строк последние пустые (null или их длина меньше 1) строки
      static java.lang.String encodeHex​(byte[] bytes)
      Возвращает символное-hex представление байтов
      static java.lang.String encodeHex​(byte[] bytes, int off, int len)
      Возвращает символное-hex представление байтов
      static java.lang.String encodeHex​(java.lang.Byte[] bytes)
      Возвращает символное-hex представление байтов
      static java.lang.String encodeHex​(java.lang.Byte[] bytes, int off, int len)
      Возвращает символное-hex представление байтов
      static java.lang.String encodeStringConstant​(java.lang.String srcText)
      Кодирует текст в строковую констануту вида языка С.
      static java.lang.String encodeStringConstant​(java.lang.String srcText, char quoteChar)
      Кодирует текст в строковую констануту вида языка С.
      static java.lang.String format​(java.lang.String format, java.lang.Number num)
      Форматирование числа
      static java.lang.String getHex​(byte byteValue)
      Возвращает двух символьное представление байта
      static java.lang.String getHex​(byte[] bytes)
      Возвращает символное-hex представление байтов
      static java.lang.String getHex​(java.lang.Byte[] bytes)
      Возвращает символное-hex представление байтов
      static java.util.Map<java.lang.String,​java.lang.String> getText2HtmlCharMap()
      Карта преобразования текста в html валидный текст
      static java.lang.String htmlDecode​(java.lang.String html)
      Декодирует текст из html кодировки
      static java.lang.String htmlEncode​(java.lang.String text)
      Кодирует текст в html экранированный текст.
      static boolean in​(java.lang.String src, java.lang.Iterable<java.lang.String> list)
      Проверяет наличие строки среди заданных
      static boolean in​(java.lang.String src, java.lang.String... arr)
      Проверяет наличие строки среди заданных
      static java.lang.Iterable<java.lang.String> indent​(java.lang.String indent, java.lang.Iterable<java.lang.String> source)
      Добавляет отступ в начало каждой строки
      static java.lang.String indent​(java.lang.String indent, java.lang.String srcText)
      Добавляет отступ в начале каждой строки
      static java.lang.String[] indent​(java.lang.String indent, java.lang.String[] sourceLines)
      Добавляет отступ
      static java.lang.String indent​(java.lang.String indent, java.lang.String source, java.lang.String lineDelim)
      Добавляет отступ в начало каждой строки
      static int[] indexesOf​(java.util.function.Predicate<java.lang.String> src, java.lang.Iterable<java.lang.String> arr)
      Возвращает индексы строк удовлетворяющих заданному критерию
      static int[] indexesOf​(java.util.function.Predicate<java.lang.String> src, java.lang.String... arr)
      Возвращает индексы строк удовлетворяющих заданному критерию
      static int indexOf​(java.lang.String src, java.lang.Iterable<java.lang.String> list)
      Возвращает индекс искомой строки среди заданых
      static int indexOf​(java.lang.String src, java.lang.String... arr)
      Возвращает индекс искомой строки среди указанных строк
      static int indexOfNonWSChar​(java.lang.String text)
      Возвращает первый индекс не пробельного символа
      static int indexOfNonWSChar​(java.lang.String text, int begin, int endexclusive)
      Возвращает первый индекс не пробельного символа
      static java.lang.String join​(java.lang.Iterable<java.lang.String> lines, java.lang.String glue)
      Объединяет строки вставляя между ними заданную строку
      static java.lang.String join​(java.lang.Iterable<java.lang.String> lines, java.lang.String glue, boolean withNulls)
      Объединяет строки вставляя между ними заданную строку
      static java.lang.String join​(java.lang.Iterable<java.lang.String> lines, java.lang.String glue, int from, int count, boolean withNulls)
      Объединяет строки вставляя между ними заданную строку
      static java.lang.String join​(java.lang.String[] lines, java.lang.String glue)
      Объединяет строки вставляя между ними заданную строку
      static java.lang.String join​(java.lang.String[] lines, java.lang.String glue, int from, int count)
      Объединяет строки вставляя между ними заданную строку
      static java.lang.String join​(java.lang.String[] lines, java.lang.String glue, int from, int count, boolean withNulls)
      Объединяет строки вставляя между ними заданную строку
      static java.lang.String lookupText​(java.lang.String source, int beginIndex, int len)
      Возвращает строку из указанной позиции заданной или меньше длинны
      static boolean matchText​(java.lang.String source, java.lang.String needly, int beginIndex, boolean ignoreCase)
      Сравнивает часть текста с образцом
      static xyz.cofe.fn.Pair<java.lang.Integer,​java.lang.String> nextNewLine​(java.lang.String text, int beginIndex)
      Ищет начало новой строки, учитывает различ. варианты перевода строк
      static Text.ParseStringResult parseStringConstat​(java.lang.String constant, int startIndex)
      Анализирует текстовую константу языка С
      static java.util.Map<java.lang.String,​java.lang.String> queryStringDecodeMap​(java.lang.String queryString)
      Декодирует QueryString
      static java.util.Map<java.lang.String,​java.util.List<java.lang.String>> queryStringDecodeMultiMap​(java.lang.String queryString)
      Декодирует QueryString
      static java.lang.String queryStringEncodeMap​(java.util.Map<java.lang.String,​java.lang.String> map, boolean allowNullKey, boolean allowNullValue)
      Кодирует карту в форме QueryString
      static java.lang.String[] queryStringKeyValueSplit​(java.lang.String keyValuePair, boolean allowNullValue)
      Разделяет кодированную пару ключ/значение (QueryString) на декодированные пары
      static java.util.List<java.lang.String> queryStringSplit​(java.lang.String queryString, java.lang.Iterable<java.lang.String> specChars, boolean specCharsIgnoreCase, java.util.function.Function<java.lang.String,​java.lang.String> specCharConv, boolean checkComment)
      Разделяет query string по символу амперсанда на наборы ключ/значени
      static java.lang.String repeat​(java.lang.String text, int count)
      Повторяет текст указанное кол-во раз.
      static java.lang.String[] split​(java.lang.String src, java.lang.String splitter)
      Разделяет строку на подстроки, где в качестве разделитя указана строка.
      static xyz.cofe.iter.Eterable<java.lang.String> splitIterable​(java.lang.String src, java.lang.String splitter)  
      static java.lang.String[] splitNewLines​(java.lang.String line)
      Делит текст на строки согласно символам перевода строк: CR+LF/CR/LF (\r\n, \r, \n).
      Сами символы (CR,LF) не входят в результирующий набор строк.
      static xyz.cofe.iter.Eterable<java.lang.String> splitNewLinesIterable​(java.lang.String text)
      Разделяет текст по строки по символу(ам) перевода строк (CR+LF/CR/LF (\r\n, \r, \n))
      static java.lang.String trimEnd​(java.lang.String text, java.lang.String trimText)
      Возвращает строку исключая указанный текст (если он присуствует 1 или более раз) в конце.
      static java.lang.String trimStart​(java.lang.String text)
      Удаляет пробельные символы с начала строки
      static java.lang.String trimStart​(java.lang.String text, int max)
      Удаляет пробельные символы с начала строки
      static java.lang.String trimStart​(java.lang.String text, java.lang.String trimText)
      Возвращает строку исключая указанный текст (если он присуствует 1 или более раз) в начале.
      static java.lang.String urlDecode​(java.lang.String text)
      Декодирует текст методом URL-encoding, используя кодировку UTF-8
      static java.lang.String urlDecode​(java.lang.String text, java.lang.String charset)
      Декодирует текст методом URL-encoding
      static java.lang.String urlEncode​(java.lang.String text)
      Кодирует текст методом URL-encoding, используя кодировку UTF-8
      static java.lang.String urlEncode​(java.lang.String text, java.lang.String charset)
      Кодирует текст методом URL-encoding
      static java.util.regex.Pattern wildcard​(java.lang.String wildcard, boolean escapeAllowed, boolean ignoreCase)
      Создает шаблон регулярного выражения из маски (*?)
      static java.lang.String[] wordWrap​(java.lang.String text, int maxwidth)
      Перенос слов на несколько строк.
      static xyz.cofe.iter.Eterable<java.lang.String> wordWrapIterable​(java.lang.String text, int maxwidth)
      Перенос слов на несколько строк.
      • Methods inherited from class java.lang.Object

        clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
    • Field Detail

      • text2HtmlCharMap

        protected static java.util.Map<java.lang.String,​java.lang.String> text2HtmlCharMap
    • Constructor Detail

      • Text

        public Text()
    • Method Detail

      • getHex

        public static java.lang.String getHex​(byte[] bytes)
        Возвращает символное-hex представление байтов
        Parameters:
        bytes - Байты
        Returns:
        Строка - символное-hex представление байтов
      • getHex

        public static java.lang.String getHex​(java.lang.Byte[] bytes)
        Возвращает символное-hex представление байтов
        Parameters:
        bytes - Байты
        Returns:
        Строка - символное-hex представление байтов
      • getHex

        public static java.lang.String getHex​(byte byteValue)
        Возвращает двух символьное представление байта
        Parameters:
        byteValue - байт
        Returns:
        два символа представляющих байт (00 .. FF)
      • encodeHex

        public static java.lang.String encodeHex​(byte[] bytes,
                                                 int off,
                                                 int len)
        Возвращает символное-hex представление байтов
        Parameters:
        bytes - байты
        off - смещение
        len - кол-во байт
        Returns:
        Строка - символное-hex представление байтов
      • encodeHex

        public static java.lang.String encodeHex​(java.lang.Byte[] bytes,
                                                 int off,
                                                 int len)
        Возвращает символное-hex представление байтов
        Parameters:
        bytes - байты
        off - смещение
        len - кол-во байт
        Returns:
        Строка - символное-hex представление байтов
      • encodeHex

        public static java.lang.String encodeHex​(byte[] bytes)
        Возвращает символное-hex представление байтов
        Parameters:
        bytes - байты
        Returns:
        Строка - символное-hex представление байтов
      • encodeHex

        public static java.lang.String encodeHex​(java.lang.Byte[] bytes)
        Возвращает символное-hex представление байтов
        Parameters:
        bytes - байты
        Returns:
        Строка - символное-hex представление байтов
      • decodeHex

        public static byte[] decodeHex​(java.lang.String bytes)
        Возвращает баты их hex представления
        Parameters:
        bytes - - символное-hex представление байтов
        Returns:
        bytes байты
      • decodeHex

        public static byte[] decodeHex​(java.lang.String bytes,
                                       int offset,
                                       int len)
        Возвращает баты их hex представления
        Parameters:
        bytes - - символное-hex представление байтов
        offset - - смещение байтов в строке
        len - - кол-во символов соответ байтам
        Returns:
        bytes байты
      • decodeHexBytes

        public static java.lang.Byte[] decodeHexBytes​(java.lang.String bytes)
        Возвращает баты их hex представления
        Parameters:
        bytes - - символное-hex представление байтов
        Returns:
        bytes байты
      • decodeHexBytes

        public static java.lang.Byte[] decodeHexBytes​(java.lang.String bytes,
                                                      int offset,
                                                      int len)
        Возвращает баты их hex представления
        Parameters:
        bytes - - символное-hex представление байтов
        offset - - смещение байтов в строке
        len - - кол-во символов соответ байтам
        Returns:
        bytes байты
      • getText2HtmlCharMap

        public static java.util.Map<java.lang.String,​java.lang.String> getText2HtmlCharMap()
        Карта преобразования текста в html валидный текст
        Returns:
        Карта text / html
      • htmlDecode

        public static java.lang.String htmlDecode​(java.lang.String html)
        Декодирует текст из html кодировки
        Parameters:
        html - HTML кодировка (допускется null)
        Returns:
        Декодированный текст (допускется null) Декодирует символы:
        1. &lt; в <
        2. &gt; в >
        3. &amp; в &
        4. &quot; в "
        5. &apos; в '
        6. &nbsp; в пробел
      • htmlEncode

        public static java.lang.String htmlEncode​(java.lang.String text)
        Кодирует текст в html экранированный текст. Экранирует символы:
        1. < в &lt;
        2. > в &gt;
        3. & в &amp;
        Parameters:
        text - Исходный текст (допускется null)
        Returns:
        html текст (допускется null)
      • attrEncode

        public static java.lang.String attrEncode​(java.lang.String text)
        Кодирует текст в html экранированный текст.
        Экранирует символы:
        1. < в &lt;
        2. > в &gt;
        3. & в &amp;
        4. " в &quot;
        5. ' в &apos;
        Parameters:
        text - Исходный текст (допускется null)
        Returns:
        html текст (допускется null)
      • attrDecode

        public static java.lang.String attrDecode​(java.lang.String attr)
        Декодирование атрибута HTML
        Parameters:
        attr - Атрибут HTML кодированный
        Returns:
        Декодированный HTML атрибут
      • urlDecode

        public static java.lang.String urlDecode​(java.lang.String text)
        Декодирует текст методом URL-encoding, используя кодировку UTF-8
        Parameters:
        text - Кодированый текст
        Returns:
        исходный текст
      • urlDecode

        public static java.lang.String urlDecode​(java.lang.String text,
                                                 java.lang.String charset)
        Декодирует текст методом URL-encoding
        Parameters:
        text - Кодированый текст
        charset - Кодировка
        Returns:
        исходный текст
      • urlEncode

        public static java.lang.String urlEncode​(java.lang.String text)
        Кодирует текст методом URL-encoding, используя кодировку UTF-8
        Parameters:
        text - Текст
        Returns:
        Кодированый текст
      • urlEncode

        public static java.lang.String urlEncode​(java.lang.String text,
                                                 java.lang.String charset)
        Кодирует текст методом URL-encoding
        Parameters:
        text - Текст
        charset - кодировка
        Returns:
        Кодированый текст
      • queryStringEncodeMap

        public static java.lang.String queryStringEncodeMap​(java.util.Map<java.lang.String,​java.lang.String> map,
                                                            boolean allowNullKey,
                                                            boolean allowNullValue)
        Кодирует карту в форме QueryString
        Parameters:
        map - Карта
        allowNullKey - true - допускается использование null ключей
        allowNullValue - true - допускается использование null значений
        Returns:
        QueryString
      • queryStringDecodeMap

        public static java.util.Map<java.lang.String,​java.lang.String> queryStringDecodeMap​(java.lang.String queryString)
        Декодирует QueryString
        Parameters:
        queryString - строка запроса
        Returns:
        карта
      • queryStringDecodeMultiMap

        public static java.util.Map<java.lang.String,​java.util.List<java.lang.String>> queryStringDecodeMultiMap​(java.lang.String queryString)
        Декодирует QueryString
        Parameters:
        queryString - строка запроса
        Returns:
        карта
      • queryStringKeyValueSplit

        public static java.lang.String[] queryStringKeyValueSplit​(java.lang.String keyValuePair,
                                                                  boolean allowNullValue)
        Разделяет кодированную пару ключ/значение (QueryString) на декодированные пары
        Parameters:
        keyValuePair - строка ключ/значение, разделенные знаком Равно
        allowNullValue - true - допускается отсуствие значения или/и символа Равно
        Returns:
        Декодированная пара или null
      • queryStringSplit

        public static java.util.List<java.lang.String> queryStringSplit​(java.lang.String queryString,
                                                                        java.lang.Iterable<java.lang.String> specChars,
                                                                        boolean specCharsIgnoreCase,
                                                                        java.util.function.Function<java.lang.String,​java.lang.String> specCharConv,
                                                                        boolean checkComment)
        Разделяет query string по символу амперсанда на наборы ключ/значени
        Parameters:
        queryString - query строка
        specChars - перечень специальных символов, таких как амперсанд - &amp; и т.д. Если указано null - то испобльзуется значение getText2HtmlCharMap()
        specCharsIgnoreCase - - true - игнорировать регистр букв в специальных символах
        specCharConv - функция конвертации специальных симвлов в нормальные, если указанно null, то используется значение из getText2HtmlCharMap()
        checkComment - если true - то проверяет наличие символа решетки, и если сам символ есть, и все что за ним следует - не попадет в резуьтат
        Returns:
        Список кодированых пар значений (ключ=значение)
        See Also:
        getText2HtmlCharMap()
      • lookupText

        public static java.lang.String lookupText​(java.lang.String source,
                                                  int beginIndex,
                                                  int len)
        Возвращает строку из указанной позиции заданной или меньше длинны
        Parameters:
        source - исходный текст
        beginIndex - позиция, больше или равно 0, может быть больше длины строки
        len - длина искомого текста (может быть за пределами границ текста), больше или равен 0
        Returns:
        текст, если за границами вернет пустую строку
      • matchText

        public static boolean matchText​(java.lang.String source,
                                        java.lang.String needly,
                                        int beginIndex,
                                        boolean ignoreCase)
        Сравнивает часть текста с образцом
        Parameters:
        source - текст
        needly - образец
        beginIndex - индекс (может быть за пределами строки, но не меньше 0)
        ignoreCase - игнорировать регистр
        Returns:
        совпадает / не совпадает
      • nextNewLine

        public static xyz.cofe.fn.Pair<java.lang.Integer,​java.lang.String> nextNewLine​(java.lang.String text,
                                                                                             int beginIndex)
        Ищет начало новой строки, учитывает различ. варианты перевода строк
        Parameters:
        text - Текст
        beginIndex - с какого индекса начать поиск
        Returns:
        Пара (начало строки, предшеств. сиволы перевода строк) или null
      • dropFirstEmptyLines

        public static java.lang.String[] dropFirstEmptyLines​(java.lang.String[] lines)
        Убирает из набора строк первые пустые (null или их длина меньше 1) строки
        Parameters:
        lines - Набор строк
        Returns:
        Набор строк
      • dropFirstEmptyLines

        public static java.util.List<java.lang.String> dropFirstEmptyLines​(java.lang.Iterable<java.lang.String> lines)
        Убирает из набора строк первые пустые (null или их длина меньше 1) строки
        Parameters:
        lines - Набор строк
        Returns:
        Набор строк
      • dropLastEmptyLines

        public static java.lang.String[] dropLastEmptyLines​(java.lang.String[] lines)
        Убирает из набора строк последние пустые (null или их длина меньше 1) строки
        Parameters:
        lines - Набор строк
        Returns:
        Набор строк
      • dropLastEmptyLines

        public static java.util.List<java.lang.String> dropLastEmptyLines​(java.lang.Iterable<java.lang.String> lines)
        Убирает из набора строк последние пустые (null или их длина меньше 1) строки
        Parameters:
        lines - Набор строк
        Returns:
        Набор строк
      • convert

        public static xyz.cofe.iter.Eterable<java.lang.String> convert​(java.lang.Iterable<java.lang.String> source,
                                                                       java.util.function.Function<java.lang.String,​java.lang.String> convertor)
        Обрабатывает набор строк согласно ковертору, т.е. каждая строка пропускается через конвертор и его результат попадает результирующий набор
        Parameters:
        source - Исходный набор строк
        convertor - Конвертор строки
        Returns:
        Результат конвертации
      • convert

        public static java.lang.String[] convert​(java.lang.String[] source,
                                                 java.util.function.Function<java.lang.String,​java.lang.String> convertor)
        Обрабатывает набор строк согласно ковертору, т.е. каждая строка пропускается через конвертор и его результат попадает результирующий набор
        Parameters:
        source - Исходный набор строк
        convertor - Конвертор строки
        Returns:
        Результат конвертации
      • indexOfNonWSChar

        public static int indexOfNonWSChar​(java.lang.String text,
                                           int begin,
                                           int endexclusive)
        Возвращает первый индекс не пробельного символа
        Parameters:
        text - Текст
        begin - Индекс с которого начинается поиск
        endexclusive - Индекс исключ. по которй ведется поиск
        Returns:
        индекс или -1
      • indexOfNonWSChar

        public static int indexOfNonWSChar​(java.lang.String text)
        Возвращает первый индекс не пробельного символа
        Parameters:
        text - Текст
        Returns:
        индекс или -1
      • trimStart

        public static java.lang.String trimStart​(java.lang.String text)
        Удаляет пробельные символы с начала строки
        Parameters:
        text - Строка
        Returns:
        Строка без пробелов в начале
      • trimStart

        public static java.lang.String trimStart​(java.lang.String text,
                                                 int max)
        Удаляет пробельные символы с начала строки
        Parameters:
        text - Строка
        max - Максимальное кол-во удаляемых пробельных символов или -1
        Returns:
        Строка без пробелов в начале
      • trimStart

        public static java.lang.String trimStart​(java.lang.String text,
                                                 java.lang.String trimText)
        Возвращает строку исключая указанный текст (если он присуствует 1 или более раз) в начале.

        trimStart( "ababtcv" , "ab" ) // Результат "tcv"

        Parameters:
        text - Исходная строка
        trimText - Текст который необходимо удалить
        Returns:
        Результат
      • trimEnd

        public static java.lang.String trimEnd​(java.lang.String text,
                                               java.lang.String trimText)
        Возвращает строку исключая указанный текст (если он присуствует 1 или более раз) в конце.

        trimEnd( "ababtcvtcv" , "tcv" ) // Результат "abab"

        Parameters:
        text - Исходная строка
        trimText - Текст который необходимо удалить
        Returns:
        Результат
      • repeat

        public static java.lang.String repeat​(java.lang.String text,
                                              int count)
        Повторяет текст указанное кол-во раз.
        Parameters:
        text - Текст
        count - Сколько раз повторить ( <= 0 - пустая строка; == 1 - исходная; >= 2 - соответ. кол-во повторов)
        Returns:
        Результат
      • split

        public static java.lang.String[] split​(java.lang.String src,
                                               java.lang.String splitter)
        Разделяет строку на подстроки, где в качестве разделитя указана строка.
        Пример преобразований
        Исходная строка Разделитель Результат
        "delim" "delim" ""
        "delimabc" "delim" ""
        "abc"
        "abcdelimabc" "delim" "abc"
        "abc"
        "abcdelim" "delim" "abc"
        ""
        "abc" "delim" "abc"
        "abc" "" "abc"
        Parameters:
        src - Исходня строка
        splitter - Разделитель
        Returns:
        Подстроки
      • splitIterable

        public static xyz.cofe.iter.Eterable<java.lang.String> splitIterable​(java.lang.String src,
                                                                             java.lang.String splitter)
      • join

        public static java.lang.String join​(java.lang.Iterable<java.lang.String> lines,
                                            java.lang.String glue)
        Объединяет строки вставляя между ними заданную строку
        Parameters:
        lines - Строки
        glue - Вставка
        Returns:
        Результат склейки
      • join

        public static java.lang.String join​(java.lang.Iterable<java.lang.String> lines,
                                            java.lang.String glue,
                                            boolean withNulls)
        Объединяет строки вставляя между ними заданную строку
        Parameters:
        lines - Строки
        glue - Вставка
        withNulls - включить также пустые ссылки
        Returns:
        Результат склейки
      • join

        public static java.lang.String join​(java.lang.Iterable<java.lang.String> lines,
                                            java.lang.String glue,
                                            int from,
                                            int count,
                                            boolean withNulls)
        Объединяет строки вставляя между ними заданную строку
        Parameters:
        lines - Строки
        glue - Вставка
        from - С какой строки начать (withNulls - влияет на нумерацию)
        count - Сколько строк объединять? -1 - без ограничения
        withNulls - включить также пустые ссылки
        Returns:
        Результат склейки
      • join

        public static java.lang.String join​(java.lang.String[] lines,
                                            java.lang.String glue,
                                            int from,
                                            int count)
        Объединяет строки вставляя между ними заданную строку
        Parameters:
        lines - Строки
        glue - Вставка
        from - С какой строки начать
        count - Сколько строк объединять
        Returns:
        Результат склейки
      • join

        public static java.lang.String join​(java.lang.String[] lines,
                                            java.lang.String glue,
                                            int from,
                                            int count,
                                            boolean withNulls)
        Объединяет строки вставляя между ними заданную строку
        Parameters:
        lines - Строки
        glue - Вставка
        from - С какой строки начать
        count - Сколько строк объединять
        withNulls - включить также пустые ссылки
        Returns:
        Результат склейки
      • join

        public static java.lang.String join​(java.lang.String[] lines,
                                            java.lang.String glue)
        Объединяет строки вставляя между ними заданную строку
        Parameters:
        lines - Строки
        glue - Вставка
        Returns:
        Результат склейки
      • in

        public static boolean in​(java.lang.String src,
                                 java.lang.String... arr)
        Проверяет наличие строки среди заданных
        Parameters:
        src - искомая строка
        arr - массив строк
        Returns:
        true - искомая строка присуствует среди заданных / false - отсуствует
      • indexOf

        public static int indexOf​(java.lang.String src,
                                  java.lang.String... arr)
        Возвращает индекс искомой строки среди указанных строк
        Parameters:
        src - искомая строка
        arr - массив строк
        Returns:
        индекс строки в массиве или -1 если не найдена
      • indexesOf

        public static int[] indexesOf​(java.util.function.Predicate<java.lang.String> src,
                                      java.lang.String... arr)
        Возвращает индексы строк удовлетворяющих заданному критерию
        Parameters:
        src - критерий поиска
        arr - массив строк
        Returns:
        индексы строк массива удовлетворяющих критерию
      • indexesOf

        public static int[] indexesOf​(java.util.function.Predicate<java.lang.String> src,
                                      java.lang.Iterable<java.lang.String> arr)
        Возвращает индексы строк удовлетворяющих заданному критерию
        Parameters:
        src - критерий поиска
        arr - массив строк
        Returns:
        индексы строк массива удовлетворяющих критерию
      • in

        public static boolean in​(java.lang.String src,
                                 java.lang.Iterable<java.lang.String> list)
        Проверяет наличие строки среди заданных
        Parameters:
        src - искомая строка
        list - массив строк
        Returns:
        true - строка присуствует среди заданных
      • indexOf

        public static int indexOf​(java.lang.String src,
                                  java.lang.Iterable<java.lang.String> list)
        Возвращает индекс искомой строки среди заданых
        Parameters:
        src - искомая строка
        list - массив строк
        Returns:
        индекс или -1 если не найдена
      • wordWrapIterable

        public static xyz.cofe.iter.Eterable<java.lang.String> wordWrapIterable​(java.lang.String text,
                                                                                int maxwidth)
        Перенос слов на несколько строк.
        Parameters:
        text - Исходный текст
        maxwidth - Максимальная длина колонки
        Returns:
        Набор строк
      • wordWrap

        public static java.lang.String[] wordWrap​(java.lang.String text,
                                                  int maxwidth)
        Перенос слов на несколько строк.
        Parameters:
        text - Исходный текст
        maxwidth - Максимальная длина колонки
        Returns:
        Набор строк
      • align

        public static java.lang.String[] align​(java.lang.String[] lines,
                                               Align align,
                                               java.lang.String padText,
                                               int len)
        Выравнивает текст до определенной длины. Если текст привышает или равен указанную длину, то возвращается как есть
        Parameters:
        lines - Текст
        align - Как выравнивать.
        padText - Текст который добавляется для выравнивания (Возможно null - тогда будет использоваться один пробел)
        len - Длина текста, не меньше нуля по каторой выравнивается.
        Returns:
        Текст
      • align

        public static java.lang.Iterable<java.lang.String> align​(java.lang.Iterable<java.lang.String> lines,
                                                                 Align align,
                                                                 java.lang.String padText,
                                                                 int len)
        Выравнивает текст по краю заданной длинны
        Parameters:
        lines - Исходный текст
        align - Выравнивание
        padText - Текст который дополняется слева/справа
        len - длина колонки
        Returns:
        Выравненый текст
      • align

        public static java.lang.String align​(java.lang.String text,
                                             Align align,
                                             java.lang.String padText,
                                             int len)
        Выравнивает текст до определенной длинны. Если текст привышает или равен указанную длину, то возвращается как есть
        Parameters:
        text - Текст
        align - Как выравнивать.
        Begin - Выравнивать по левому краю, пробельные символы добавляются в конец.
        Center - Выравнивать по центру, пробельные символы добавляются с обоих краев.
        End - Выравнивать по правому краю, пробельные символы добавляются в начало.
        padText - Текст который добавляется для выравнивания (Возможно null - тогда будет использоваться один пробел)
        len - Длина текста, не меньше нуля по каторой выравнивается.
        Returns:
        Текст
      • align

        public static java.lang.String align​(java.lang.String text,
                                             Align align,
                                             java.lang.String padText,
                                             int len,
                                             boolean trimText)
        Выравнивает текст до определенной длинны. Если текст привышает или равен указанную длину, то возвращается как есть
        Parameters:
        text - Текст
        align - Как выравнивать.
        Begin - Выравнивать по левому краю, пробельные символы добавляются в конец.
        Center - Выравнивать по центру, пробельные символы добавляются с обоих краев.
        End - Выравнивать по правому краю, пробельные символы добавляются в начало.
        padText - Текст который добавляется для выравнивания (Возможно null - тогда будет использоваться один пробел)
        len - Длина текста, не меньше нуля по каторой выравнивается.
        trimText - Усекать пробелы в начале и в конце строки ()
        Returns:
        Текст
      • indent

        public static java.lang.String indent​(java.lang.String indent,
                                              java.lang.String srcText)
        Добавляет отступ в начале каждой строки
        Parameters:
        indent - отступ
        srcText - текст
        Returns:
        текст с отступом
      • indent

        public static java.lang.String indent​(java.lang.String indent,
                                              java.lang.String source,
                                              java.lang.String lineDelim)
        Добавляет отступ в начало каждой строки
        Parameters:
        indent - Отступ
        source - Исходный текст
        lineDelim - Разделитель строк
        Returns:
        Строки с отступом
      • indent

        public static java.lang.String[] indent​(java.lang.String indent,
                                                java.lang.String[] sourceLines)
        Добавляет отступ
        Parameters:
        sourceLines - Исходный набор строк
        indent - Отступ
        Returns:
        Строки с отступом
      • indent

        public static java.lang.Iterable<java.lang.String> indent​(java.lang.String indent,
                                                                  java.lang.Iterable<java.lang.String> source)
        Добавляет отступ в начало каждой строки
        Parameters:
        indent - Отступ
        source - Исходный текст
        Returns:
        Строки с отступом
      • splitNewLinesIterable

        public static xyz.cofe.iter.Eterable<java.lang.String> splitNewLinesIterable​(java.lang.String text)
        Разделяет текст по строки по символу(ам) перевода строк (CR+LF/CR/LF (\r\n, \r, \n))
        Parameters:
        text - Исходный текст
        Returns:
        набор строк
      • splitNewLines

        public static java.lang.String[] splitNewLines​(java.lang.String line)
        Делит текст на строки согласно символам перевода строк: CR+LF/CR/LF (\r\n, \r, \n).
        Сами символы (CR,LF) не входят в результирующий набор строк.
        Parameters:
        line - Текст
        Returns:
        Результат.
      • encodeStringConstant

        public static java.lang.String encodeStringConstant​(java.lang.String srcText,
                                                            char quoteChar)
        Кодирует текст в строковую констануту вида языка С.
        Экраниует символы: " \ \t \r \n \b \f

        Примеры:

        Пример преобразований
        abc"abc"
        abc "dfg" sss"abc \"dfg\" sss"
        abc\sss"abc\\sss"
        Parameters:
        srcText - Исходный текст
        quoteChar - Символ экранирования
        Returns:
        Кодированый текст
      • encodeStringConstant

        public static java.lang.String encodeStringConstant​(java.lang.String srcText)
        Кодирует текст в строковую констануту вида языка С.
        Экраниует символы: " \ \t \r \n \b \f

        Примеры:

        Пример преобразований
        abc"abc"
        abc "dfg" sss"abc \"dfg\" sss"
        abc\sss"abc\\sss"
        Parameters:
        srcText - Исходный текст
        Returns:
        Кодированый текст
      • parseStringConstat

        public static Text.ParseStringResult parseStringConstat​(java.lang.String constant,
                                                                int startIndex)
        Анализирует текстовую константу языка С

        Синтаксис строки
        Константа ::= {Пробельный символ} Кавычки {Кодированный символ} Кавычки
        Пробельный символ ::= пробел | перевод строи | возврат корретки | табуляция
        Кавычки ::= '"'
        Кодированный символ ::= ( '\' экранированный символ ) | обычный символ
        Экранированный символ ::= 'n' | 'r' | 't' | '"' | '\'

        Parameters:
        constant - Константа (или null)
        startIndex - Индекс (0 ... длина строки)
        Returns:
        Результат анализа или null, если не соответствует кодированию (или входные параметры не удалетворяют условию)
      • wildcard

        public static java.util.regex.Pattern wildcard​(java.lang.String wildcard,
                                                       boolean escapeAllowed,
                                                       boolean ignoreCase)
        Создает шаблон регулярного выражения из маски (*?)
        Parameters:
        wildcard - Маска
        escapeAllowed - Допускается в маске использовать экранирующие символы
        ignoreCase - Игнорировать регистр
        Returns:
        шаблон регулярного выражения
      • format

        public static java.lang.String format​(java.lang.String format,
                                              java.lang.Number num)
        Форматирование числа
        Parameters:
        format - Формат числа: Пример форматов:
        Примеры формата
        +00000000.000 12.23456 "+00012345.235"
        00000000.000 12.23456 "00012345.235"
        ### ###.## ## 1234567.2345678 "1 234 567.23 45 67 8"
        +###000.00 12.23456 "   +012.23"
        ###000.0# 12.23456 "   012.23"
        ###000.00#### 12.2345 "   012.2345  "
        ###000.00#### 12.23 "   012.23    "
        ###000.00#### 12.2 "   012.20    "
        # 1234.2345 "1234"
        +###000,00####*100 12 "  +1200       "
        +###000,00####*-5.5-2.1 12 "    -68.1     "
        num - Число
        Returns:
        Строка представляющее число
        See Also:
        FullDecFormat