Bitbybit Docs
    Preparing search index...

    Class TextBitByBit

    Работа с текстом: разделение, соединение, поиск, обрезка, дополнение, изменение регистра, регулярные выражения и форматирование с подстановочными местами. vectorChar и vectorText превращают текст в линейные пути, рисуемые простым штриховым шрифтом, так что слова могут стать геометрией. Позиции в тексте считаются с 0.

    Index

    Constructors

    create

    • Передает текст без изменений, так что значению можно дать имя и использовать повторно.

      Пример: 'Hello World' -> 'Hello World'

      Parameters

      Returns string

      Тот же текст

    query

    • Сообщает, содержит ли текст искомый текст.

      Пример: 'hello world' содержит 'world' -> true

      Parameters

      Returns boolean

      true, если искомый текст в нем встречается

      const has = bitbybit.text.includes({ text: "hello world", search: "world" });
      
    • Сообщает, начинается ли текст с искомого текста.

      Пример: 'hello world' начинается с 'hello' -> true

      Parameters

      • inputs: TextSearchDto

        Текст и что искать в его начале

      Returns boolean

      true, если текст с этого начинается

      const starts = bitbybit.text.startsWith({ text: "hello world", search: "hello" });
      
    • Сообщает, заканчивается ли текст искомым текстом.

      Пример: 'hello world' заканчивается на 'world' -> true

      Parameters

      • inputs: TextSearchDto

        Текст и что искать в его конце

      Returns boolean

      true, если текст этим заканчивается

      const ends = bitbybit.text.endsWith({ text: "hello world", search: "world" });
      
    • Находит, где искомый текст встречается впервые, считая символы с 0, или -1, когда он не встречается.

      Пример: 'hello world' ищем 'world' -> 6

      Parameters

      Returns number

      Позиция первого вхождения или -1

      const at = bitbybit.text.indexOf({ text: "hello world", search: "world" });
      
    • Находит, где искомый текст встречается в последний раз, считая символы с 0, или -1, когда он не встречается.

      Пример: 'hello world hello' ищем 'hello' -> 12

      Parameters

      Returns number

      Позиция последнего вхождения или -1

      const at = bitbybit.text.lastIndexOf({ text: "hello world hello", search: "hello" });
      
    • Читает символ на позиции, считая с 0.

      Пример: 'hello' на 1 -> 'e'

      Parameters

      Returns string

      Символ или пустой текст, если позиция вне текста

      const second = bitbybit.text.charAt({ text: "hello", index: 1 });
      
    • Считает символы в тексте.

      Пример: 'hello' -> 5

      Parameters

      Returns number

      Число символов

    • Сообщает, пуст ли текст или содержит только пробельные символы.

      Пример: ' ' -> true, 'a' -> false

      Parameters

      Returns boolean

      true, если в нем нет ничего, кроме пробелов

    regex

    • Сообщает, совпадает ли регулярное выражение где-нибудь в тексте.

      Пример: 'hello123' по '[0-9]+' -> true

      Parameters

      Returns boolean

      true, если шаблон совпадает

      const hasDigits = bitbybit.text.regexTest({ text: "hello123", pattern: "[0-9]+", flags: "" });
      
    • Находит части текста, с которыми совпадает регулярное выражение.

      С флагом g перечисляется каждое совпадение; без него только первое совпадение и его группы захвата. Отсутствие совпадения дает null. Пример: 'hello123world456' по '[0-9]+' с 'g' -> ['123', '456']

      Parameters

      Returns string[]

      Совпадения или null, если их нет

      const numbers = bitbybit.text.regexMatch({ text: "hello123world456", pattern: "[0-9]+", flags: "g" });
      
    • Заменяет то, с чем совпадает регулярное выражение, другим текстом.

      С флагом g заменяется каждое совпадение; без него только первое. Пример: 'hello123world456' по '[0-9]+' с 'g', замененное на 'X' -> 'helloXworldX'

      Parameters

      Returns string

      Текст с выполненными заменами

      const clean = bitbybit.text.regexReplace({ text: "hello123world456", pattern: "[0-9]+", flags: "g", replaceWith: "X" });
      
    • Находит, где регулярное выражение совпадает впервые, считая символы с 0, или -1, когда оно не совпадает.

      Пример: 'hello123' по '[0-9]+' -> 5

      Parameters

      Returns number

      Позиция первого совпадения или -1

      const at = bitbybit.text.regexSearch({ text: "hello123", pattern: "[0-9]+", flags: "" });
      
    • Разрезает текст на части везде, где совпадает регулярное выражение; сами совпадения отбрасываются.

      Пример: 'a1b2c3', разделенный по '[0-9]+' -> ['a', 'b', 'c', '']

      Parameters

      Returns string[]

      Части, по порядку

      const letters = bitbybit.text.regexSplit({ text: "a1b2c3", pattern: "[0-9]+", flags: "" });
      

    transform

    • Разрезает текст на части везде, где встречается разделитель; сам разделитель отбрасывается.

      Пример: 'apple,banana,cherry', разделенный по ',' -> ['apple', 'banana', 'cherry']

      Parameters

      Returns string[]

      Части, по порядку

      const parts = bitbybit.text.split({ text: "apple,banana,cherry", separator: "," });
      
    • Заменяет каждое вхождение искомого текста другим текстом.

      Пример: 'hello hello' с заменой 'hello' на 'hi' -> 'hi hi'

      Parameters

      • inputs: TextReplaceDto

        Текст, что искать и что поставить на его место

      Returns string

      Текст с выполненными заменами

      const greeting = bitbybit.text.replaceAll({ text: "hello hello", search: "hello", replaceWith: "hi" });
      
    • Соединяет список текстов в один, с разделителем между соседями.

      Пример: ['apple', 'banana', 'cherry'], соединенные через ', ' -> 'apple, banana, cherry'

      Parameters

      • inputs: TextJoinDto

        Тексты и разделитель

      Returns string

      Соединенный текст

      const line = bitbybit.text.join({ list: ["apple", "banana"], separator: ", " });
      
    • Превращает любое значение в текст так, как его печатает JavaScript.

      Пример: 42 -> '42', [1, 2] -> '1,2'

      Type Parameters

      • T

      Parameters

      Returns string

      Значение как текст

    • Превращает каждый элемент списка в текст так, как его печатает JavaScript.

      Пример: [1, 2.5, true] -> ['1', '2.5', 'true']

      Type Parameters

      • T

      Parameters

      Returns string[]

      По одному тексту на элемент, по порядку

    • Заполняет нумерованные заполнители в тексте значениями: {0} берет первое значение, {1} второе и так далее.

      Заполнитель без значения остается как есть. Пример: 'Point: ({0}, {1})' с [10, 5] -> 'Point: (10, 5)'

      Parameters

      • inputs: TextFormatDto

        Текст с подстановочными местами и значения для заполнения

      Returns string

      Заполненный текст

      const label = bitbybit.text.format({ text: "Point: ({0}, {1})", values: ["10", "5"] });
      
    • Берет символы от начальной позиции до конечной, не включая ее.

      Начало больше конца меняет их местами, а отрицательные позиции считаются как 0. Пример: 'hello world' от 0 до 5 -> 'hello'

      Parameters

      • inputs: TextSubstringDto

        Текст и начальная и конечная позиции

      Returns string

      Символы в этом диапазоне

      const word = bitbybit.text.substring({ text: "hello world", start: 0, end: 5 });
      
    • Берет символы от начальной позиции до конечной, не включая ее.

      В отличие от substring, отрицательная позиция считается от конца текста. Пример: 'hello world' от 0 до 5 -> 'hello'; от -5 -> 'world'

      Parameters

      • inputs: TextSubstringDto

        Текст и начальная и конечная позиции

      Returns string

      Символы в этом диапазоне

      const tail = bitbybit.text.slice({ text: "hello world", start: 6, end: 11 });
      
    • Удаляет пробелы, табуляции и переносы строк с обоих концов текста.

      Пример: ' hello ' -> 'hello'

      Parameters

      Returns string

      Обрезанный текст

    • Удаляет пробелы, табуляции и переносы строк с начала текста.

      Пример: ' hello ' -> 'hello '

      Parameters

      Returns string

      Текст без начальных пробелов

    • Удаляет пробелы, табуляции и переносы строк с конца текста.

      Пример: ' hello ' -> ' hello'

      Parameters

      Returns string

      Текст без конечных пробелов

    • Добавляет текст-заполнитель спереди, пока текст не достигнет длины; текст, уже такой длины, остается без изменений.

      Пример: 'x' до длины 3 с 'a' -> 'aax'

      Parameters

      • inputs: TextPadDto

        Текст, длина, которую нужно достичь, и заполнитель

      Returns string

      Дополненный текст

      const padded = bitbybit.text.padStart({ text: "7", length: 3, padString: "0" });
      
    • Добавляет текст-заполнитель сзади, пока текст не достигнет длины; текст, уже такой длины, остается без изменений.

      Пример: 'x' до длины 3 с 'a' -> 'xaa'

      Parameters

      • inputs: TextPadDto

        Текст, длина, которую нужно достичь, и заполнитель

      Returns string

      Дополненный текст

      const padded = bitbybit.text.padEnd({ text: "x", length: 3, padString: "a" });
      
    • Превращает каждую букву в заглавную.

      Пример: 'hello' -> 'HELLO'

      Parameters

      Returns string

      Текст в верхнем регистре

    • Превращает каждую букву в строчную.

      Пример: 'HELLO' -> 'hello'

      Parameters

      Returns string

      Текст в нижнем регистре

    • Превращает первый символ в заглавный и оставляет остальное как есть.

      Пример: 'hello world' -> 'Hello world'

      Parameters

      Returns string

      Текст с первым символом в верхнем регистре

    • Превращает первый символ в строчный и оставляет остальное как есть.

      Пример: 'Hello World' -> 'hello World'

      Parameters

      Returns string

      Текст с первым символом в нижнем регистре

    • Повторяет текст несколько раз, один за другим.

      Пример: 'ha' три раза -> 'hahaha'

      Parameters

      • inputs: TextRepeatDto

        Текст и сколько раз его повторить

      Returns string

      Повторенный текст

      const laugh = bitbybit.text.repeat({ text: "ha", count: 3 });
      
    • Обращает порядок символов.

      Пример: 'hello' -> 'olleh'

      Parameters

      Returns string

      Перевернутый текст

    • Соединяет несколько текстов в один без ничего между ними.

      Пример: ['hello', ' ', 'world'] -> 'hello world'

      Parameters

      Returns string

      Соединенный текст

      const sentence = bitbybit.text.concat({ texts: ["hello", " ", "world"] });
      

    vector

    • Рисует один символ линейными путями простым штриховым шрифтом.

      Пути лежат плоско на плоскости XZ, масштабированные так, чтобы символ был высотой height, и возвращаются с шириной и высотой символа. Неизвестный символ рисуется как вопросительный знак. Пример: 'A' высотой 10 -> штрихи буквы A, высотой 10 единиц

      Parameters

      • inputs: VectorCharDto

        Символ, его высота и его смещения

      Returns VectorCharData

      Ширина, высота и пути штрихов символа как списки точек

      const letter = bitbybit.text.vectorChar({ char: "A", height: 10, xOffset: 0, yOffset: 0, extrudeOffset: 0 });
      
    • Рисует текст, с переносами строк, линейными путями простым штриховым шрифтом.

      Каждая строка возвращается как ее символы с их путями, размещенные плоско на плоскости XZ с заданными высотой, интервалами и выравниванием; centerOnOrigin помещает середину блока в начало координат. Пример: 'Hello' высотой 10 -> пять символов с их штрихами

      Parameters

      • inputs: VectorTextDto

        Текст и как его расположить

      Returns VectorTextData[]

      По одной записи на строку, каждая со своими символами и путями их штрихов

      const lines = bitbybit.text.vectorText({
      text: "Hello\nWorld",
      height: 10,
      align: Bit.Inputs.Base.horizontalAlignEnum.center,
      centerOnOrigin: true,
      });