Package xyz.cofe.text

Class Text

java.lang.Object
xyz.cofe.text.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

    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 Details

    • text2HtmlCharMap

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

    • Text

      public Text()
  • Method Details

    • 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