Spec-Zone.ru › Scala 3.2

Класс StringOps.StringOps

Объект-компаньон • Исходный код

final class StringOps(s: String) extends AnyVal

Предоставляет методы расширения для строк.

Некоторые из этих методов обрабатывают строки как обычную коллекцию символов без учёта обработки Unicode. Если пользователь не учтёт обработку Unicode или не убедится, что строки не требуют такой обработки, эти методы могут привести к неспаренным или некорректно спаренным суррогатным кодовыми единицами.

Надтипы
Класс AnyVal
Трейт Matchable
Класс Any

Конкретные методы

Исходный код
def *(n: Int): String

Возвращает текущую строку, конкатенированную n раз.

Исходный код
def ++[B >: Символ](suffix: Iterable[B]): IndexedSeq[B]

Псевдоним для concat

Исходный код
def ++(suffix: IterableOnce[Символ]): String

Псевдоним для concat

Исходный код
def ++(xs: String): String

Псевдоним для concat

Исходный код
def ++:[B >: Символ](prefix: IterableOnce[B]): IndexedSeq[B]

Псевдоним для prependedAll

Исходный код
def ++:(prefix: String): String

Псевдоним для prependedAll

Исходный код
def +:[B >: Символ](elem: B): IndexedSeq[B]

Псевдоним для prepended

Исходный код
def +:(c: Символ): String

Псевдоним для prepended

Исходный код
def :+[B >: Символ](elem: B): IndexedSeq[B]

Псевдоним для appended

Исходный код
def :+(c: Символ): String

Псевдоним для appended

Исходный код
def :++[B >: Символ](suffix: IterableOnce[B]): IndexedSeq[B]

Псевдоним для appendedAll

Исходный код
def :++(suffix: String): String

Псевдоним для appendedAll

Исходный код
def <(that: String): Boolean

Возвращает true, если this меньше that

Исходный код
def <=(that: String): Boolean

Возвращает true, если this меньше или равно that

Исходный код
def >(that: String): Boolean

Возвращает true, если this больше that

Исходный код
def >=(that: String): Boolean

Возвращает true, если this больше или равно that

Исходный код
final def addString(b: StringBuilder): StringBuilder

Добавляет эту строку в буфер строк.

Исходный код
final def addString(b: StringBuilder, sep: String): StringBuilder

Добавляет эту строку в буфер строк с использованием разделительной строки.

Исходный код
final def addString(b: StringBuilder, start: String, sep: String, end: String): StringBuilder

Добавляет эту строку в буфер строк с использованием начальной, конечной и разделительных строк.

Исходный код
def appended[B >: Символ](elem: B): IndexedSeq[B]

Копия строки с добавленным элементом

Исходный код
def appended(c: Символ): String

Копия строки с добавленным элементом

Исходный код
def appendedAll[B >: Символ](suffix: IterableOnce[B]): IndexedSeq[B]

Копия строки со всеми элементами из коллекции, добавленными в конец

Исходный код
def appendedAll(suffix: String): String

Копия строки с другой строкой, добавленной в конец

Исходный код
def apply(i: Int): Символ

Получить символ по указанному индексу.

Исходный код
def capitalize: String

Возвращает эту строку с первым символом, преобразованным в верхний регистр. Если первый символ строки уже в верхнем регистре, она возвращается без изменений. Этот метод не преобразует символы вне базовой многоязычной плоскости (BMP).

Исходный код
def charStepper: IntStepper & EfficientSplit

Перебирает символы в этой строке. Значения упакованы в Int для повышения эффективности и совместимости с потоками Java 8, у которых есть эффективная специализация для Int.

END_OF_DOCUMENT_MARKER

Источник
def codePointStepper: IntStepper & EfficientSplit

Перемещается по кодовым точкам в этой строке.

Источник
def collect(pf: PartialFunction[Символ, Символ]): Строка

Создает новую строку, применяя частичную функцию ко всем символам этой строки, для которых функция определена.

Параметры значения
pf

частичная функция, которая фильтрует и отображает строку.

Возвращает

новая строка, полученная в результате применения заданной частичной функции pf к каждому символу, для которого она определена, и сбора результатов.

Источник
def collect[B](pf: PartialFunction[Символ, B]): IndexedSeq[B]

Создает новую коллекцию, применяя частичную функцию ко всем символам этой строки, для которых функция определена.

Параметры типа
B

тип элемента возвращаемой коллекции.

Параметры значения
pf

частичная функция, которая фильтрует и отображает строку.

Возвращает

новая коллекция, полученная в результате применения заданной частичной функции pf к каждому символу, для которого она определена, и сбора результатов.

Источник
def combinations(n: Целое): Итератор[Строка]

Итерируется по комбинациям. _Комбинация_ длиной n — это подпоследовательность исходной строки, в которой символы взяты в порядке следования. Таким образом, "xy" и "yy" являются комбинациями длиной 2 для "xyy", но "yx" — нет. Если существует более одного способа сгенерировать одну и ту же подпоследовательность, будет возвращена только одна.

Например, "xyyy" имеет три различных способа сгенерировать "xy" в зависимости от того, выбирается ли первый, второй или третий "y". Однако, поскольку все они идентичны, будет выбран только один. Какой из трех будет выбран, является деталью реализации, которая не определена.

Возвращает

Итератор, проходящий по возможным комбинациям n элементов этой строки.

Примечание

Этот метод рассматривает строку как простое последовательность символов Char и не пытается сохранять пары суррогатов или последовательности кодовых точек вместе. Пользователь отвечает за то, чтобы убедиться, что такие случаи обрабатываются правильно. Если этого не сделать, может получиться недопустимая строка Юникода.

Пример

"abbbc".combinations(2) = Iterator(ab, ac, bb, bc)

Источник
def compare(that: Строка): Целое

Источник
def concat[B >: Символ](suffix: IterableOnce[B]): IndexedSeq[B]

Возвращает новую коллекцию, содержащую символы из этой строки, за которыми следуют элементы из правого операнда.

Параметры значения
suffix

коллекция для добавления.

Возвращает

новая коллекция, содержащая все символы этой строки, за которыми следуют все элементы из suffix.

Источник
def concat(suffix: IterableOnce[Символ]): Строка

Возвращает новую строку, содержащую символы из этой строки, за которыми следуют символы из правого операнда.

Параметры значения
suffix

коллекция для добавления.

Возвращает

новая строка, содержащая все символы этой строки, за которыми следуют все символы из suffix.

Источник
def concat(suffix: Строка): Строка

Возвращает новую строку, содержащую символы из этой строки, за которыми следуют символы из правого операнда.

Параметры значения
suffix

строка для добавления.

Возвращает

новая строка, содержащая все символы этой строки, за которыми следуют все символы из suffix.

Источник
def contains(elem: Символ): Булево

Проверяет, содержит ли эта строка заданный символ.

Параметры значения
elem

символ для проверки.

Возвращает

true если в этой строке есть элемент, равный (как определено ==) elem, false в противном случае.

Источник
def copyToArray(xs: Массив[Символ]): Целое

Копирует символы этой строки в массив. Заполняет заданный массив xs начиная с индекса 0. Копирование остановится, как только будет скопирована вся строка или будет достигнут конец массива.

Параметры значения
xs

массив для заполнения.

Источник
def copyToArray(xs: Массив[Символ], start: Целое): Целое

Копирует символы этой строки в массив. Заполняет заданный массив xs начиная с индекса start. Копирование остановится, как только будет скопирована вся строка или будет достигнут конец массива.

Параметры значения
start

начальный индекс.

xs

массив для заполнения.

Источник
def copyToArray(xs: Массив[Символ], start: Целое, len: Целое): Целое

Копирует символы этой строки в массив. Заполняет заданный массив xs начиная с индекса start не более чем len символами. Копирование остановится, как только будет скопирована вся строка, или будет достигнут конец массива, или len символов будет скопировано.

Параметры значения
len

максимальное количество элементов для копирования.

start

начальный индекс.

xs

массив для заполнения.

Источник
def count(p: Символ => Булево): Целое

Подсчитывает количество символов в этой строке, которые удовлетворяют предикату.

Источник
def diff[B >: Символ](that: Последовательность[B]): Строка

Вычисляет разность между этой строкой и другой последовательностью.

Параметры значения
that

последовательность символов для удаления

Возвращает

новая строка, содержащая все символы этой строки за исключением некоторых вхождений элементов, которые также присутствуют в that. Если значение элемента x появляется n раз в that, тогда первые n вхождений x не будут частью результата, но любые последующие вхождения будут.

Примечание

Этот метод рассматривает строку как простое последовательность символов Char и не пытается сохранять пары суррогатов или последовательности кодовых точек вместе. Пользователь отвечает за то, чтобы убедиться, что такие случаи обрабатываются правильно. Если этого не сделать, может получиться недопустимая строка Юникода.

END_OF_DOCUMENT_MARKER

Source
def distinct: String

Выбирает все уникальные символы этой строки, игнорируя дубликаты.

Примечание

Этот метод обрабатывает строку как обычную последовательность кодовых единиц Char и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь отвечает за правильную обработку таких случаев. Несоблюдение этого может привести к неверной строке Unicode.

Source
def distinctBy[B](f: Char => B): String

Выбирает все уникальные символы этой строки, игнорируя дубликаты, как определено ==, после применения функции преобразования f.

Параметры типа
B

тип элементов после преобразования функцией f

Параметры значения
f

Функция преобразования, результат которой используется для определения уникальности каждого элемента

Возвращает

новая строка, содержащая все символы этой строки без дубликатов.

Примечание

Этот метод обрабатывает строку как обычную последовательность кодовых единиц Char и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь отвечает за правильную обработку таких случаев. Несоблюдение этого может привести к неверной строке Unicode.

Source
def drop(n: Int): String

Остальная часть строки без её n первых символов.

Примечание

Этот метод обрабатывает строку как обычную последовательность кодовых единиц Char и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь отвечает за правильную обработку таких случаев. Несоблюдение этого может привести к неверной строке Unicode.

Source
def dropRight(n: Int): String

Остальная часть строки без её n последних символов.

Примечание

Этот метод обрабатывает строку как обычную последовательность кодовых единиц Char и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь отвечает за правильную обработку таких случаев. Несоблюдение этого может привести к неверной строке Unicode.

Source
def dropWhile(p: Char => Boolean): String

Опускает самую длинную префиксную часть символов, удовлетворяющих предикату.

Параметры значения
p

Предикат, используемый для проверки элементов.

Возвращает

самый длинный суффикс этой строки, первый элемент которого не удовлетворяет предикату p.

Source
def exists(p: Char => Boolean): Boolean

Проверяет, выполняется ли предикат хотя бы для одного символа этой строки.

Source
def filter(pred: Char => Boolean): String

Выбирает все символы этой строки, которые удовлетворяют предикату.

Source
def filterNot(pred: Char => Boolean): String

Выбирает все символы этой строки, которые не удовлетворяют предикату.

Source
def find(p: Char => Boolean): Option[Char]

Находит первый символ в строке, удовлетворяющий предикату, если таковой имеется.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

значение типа Option, содержащее первый элемент в строке, удовлетворяющий p, или None, если таковой не существует.

Source
def flatMap[B](f: Char => IterableOnce[B]): IndexedSeq[B]

Строит новую коллекцию, применяя функцию ко всем символам этой строки и используя элементы полученных коллекций.

Параметры значения
f

функция, применяемая к каждому символу.

Возвращает

новая коллекция, полученная путем применения заданной функции с возвращаемым значением коллекции f к каждому символу этой строки и конкатенацией результатов.

Source
def flatMap(f: Char => String): String

Строит новую строку, применяя функцию ко всем символам этой строки и используя элементы полученных строк.

Параметры значения
f

функция, применяемая к каждому символу.

Возвращает

новая строка, полученная путем применения заданной функции со строковым возвращаемым значением f к каждому символу этой строки и конкатенацией результатов.

Source
def fold[A1 >: Char](z: A1)(op: (A1, A1) => A1): A1

Выполняет сжатие символов этой строки с использованием указанного ассоциативного бинарного оператора.

Параметры типа
A1

параметр типа для бинарного оператора, сверхтип Char.

Параметры значения
op

бинарный оператор, который должен быть ассоциативным.

z

нейтральный элемент для операции сжатия; может быть добавлен к результату произвольное количество раз, и не должен изменять результат (например, Nil для конкатенации списков, 0 для сложения или 1 для умножения).

Возвращает

результат применения оператора сжатия op между всеми символами и z, или z если эта строка пуста.

Source
def foldLeft[B](z: B)(op: (B, Char) => B): B

Применяет бинарный оператор к начальному значению и всем символам этой строки слева направо.

Параметры типа
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

z

начальное значение.

Возвращает

результат вставки op между последовательными символами этой строки слева направо с начальным значением z слева:

op(...op(z, x_1), x_2, ..., x_n)

где x1, ..., xn - символы этой строки. Возвращает z если эта строка пуста.

Source
def foldRight[B](z: B)(op: (Char, B) => B): B

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

Параметры типа
B

тип результата бинарного оператора.

Параметры значения
op

бинарный оператор.

z

начальное значение.

Возвращает

результат вставки op между последовательными символами этой строки справа налево с начальным значением z справа:

op(x_1, op(x_2, ... op(x_n, z)...))

где x1, ..., xn - символы этой строки. Возвращает z если эта строка пуста.

Источник
def forall(p: Char => Boolean): Boolean

Проверяет, выполняется ли предикат для всех символов этой строки.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

true если эта строка пуста или заданный предикат p выполняется для всех символов этой строки, в противном случае false.

Источник
def foreach[U](f: Char => U): Unit

Применение f к каждому элементу для его побочных эффектов. Примечание: параметр [U] необходим для помощи в выводе типов scalac.

Источник
def format(args: Any*): String

Использует строку в качестве шаблона (аналогично printf в C) и использует предоставленные аргументы для заполнения пробелов.

Интерпретация форматов описана в java.util.Formatter, с добавлением, что классы, производные от ScalaNumber (например, scala.BigInt и scala.BigDecimal) разворачиваются, чтобы передать тип, который Formatter понимает.

Параметры значения
args

аргументы, используемые для создания шаблона.

Источник
def formatLocal(l: Locale, args: Any*): String

Подобно format(args*) но принимает начальный Locale параметр, который влияет на форматирование, как в java.lang.String форматировании.

Интерпретация форматов описана в java.util.Formatter, с добавлением, что классы, производные от ScalaNumber (например, scala.BigInt и scala.BigDecimal) разворачиваются, чтобы передать тип, который Formatter понимает.

Параметры значения
args

аргументы, используемые для создания шаблона.

l

экземпляр java.util.Locale

Источник
def groupBy[K](f: Char => K): Map[K, String]

Разбивает эту строку на карту строк в соответствии с функцией дискриминатора.

Параметры типа
K

тип ключей, возвращаемых функцией дискриминатора.

Параметры значения
f

функция дискриминатора.

Возвращает

Карта из ключей в строки, для которой выполняется следующее инвариантное условие:

(xs groupBy f)(k) = xs filter (x => f(x) == k)

То есть каждый ключ k привязан к строке тех элементов x для которых f(x) равно k.

Примечание

Этот метод рассматривает строку как обычную последовательность кодовых единиц Char и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь несет ответственность за правильное обращение с такими случаями. Невыполнение этого может привести к недопустимой строке Unicode.

Источник
def grouped(size: Int): Iterator[String]

Разделяет элементы на строки фиксированного размера.

Параметры значения
size

количество элементов в группе

Возвращает

Итератор, генерирующий строки размера size, за исключением последней, которая будет меньше размера size если элементы не делятся равномерно.

См. также

scala.collection.Iterator, метод grouped

Примечание

Этот метод рассматривает строку как обычную последовательность кодовых единиц Char и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь несет ответственность за правильное обращение с такими случаями. Невыполнение этого может привести к недопустимой строке Unicode.

Источник
def head: Char

Выбирает первый символ этой строки.

Возвращает

первый символ этой строки.

Исключение
NoSuchElementException

если строка пуста.

Источник
def headOption: Option[Char]

Выбирает первый символ необязательно.

Возвращает

первый символ этой строки, если она непустая, None если она пустая.

Источник
def indexWhere(p: Char => Boolean, from: Int): Int

Находит индекс первого символа, удовлетворяющего некоторому предикату после или в определённой начальной точке.

Параметры значения
from

начальная точка

p

предикат, используемый для проверки элементов.

Возвращает

индекс >= from первого элемента этой строки, удовлетворяющего предикату p, или -1, если такового не существует.

Источник
def indices: Range

Создает диапазон всех индексов этой строки.

Возвращает

значение Range от 0 до значения, на единицу меньшего, чем длина этой строки.

Источник
def init: String

Начальная часть строки без последнего символа.

Примечание

Этот метод рассматривает строку как обычную последовательность кодовых единиц Char и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь несет ответственность за правильное обращение с такими случаями. Невыполнение этого может привести к недопустимой строке Unicode.

Источник
def inits: Iterator[String]

Перебирает начальные части этой строки. Первое значение будет этой строкой, а последнее - пустой строкой, со значениями между результатом последовательных применений init.

Возвращает

итератор по всем начальным частям этой строки

Примечание

Этот метод рассматривает строку как обычную последовательность кодовых единиц Char и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь несет ответственность за правильное обращение с такими случаями. Невыполнение этого может привести к недопустимой строке Unicode.

Источник
def intersect[B >: Char](that: Seq[B]): String

Вычисляет пересечение мультимножеств между этой строкой и другой последовательностью.

Параметры значения
that

последовательность символов для пересечения.

Возвращает

новая строка, содержащая все символы этой строки, которые также встречаются в that. Если значение элемента x встречается n раз в that, то первые n вхождений x будут сохранены в результате, но любые последующие вхождения будут пропущены.

Примечание

Этот метод рассматривает строку как обычную последовательность кодовых единиц Char и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь несет ответственность за правильное обращение с такими случаями. Невыполнение этого может привести к недопустимой строке Unicode.

END_OF_DOCUMENT_MARKER

Source
def iterator: Итератор[Символ]

Итератор может быть использован только один раз

Source
def knownSize: Целое

Source
def last: Символ

Выбирает последний символ этой строки.

Возвращает

последний символ этой строки.

Выбрасывает
NoSuchElementException

если строка пустая.

Source
def lastIndexWhere(p: Символ => Булево, end: Целое): Целое

Находит индекс последнего символа, удовлетворяющего некоторому предикату до или на некотором конечном индексе.

Параметры
end

конечный индекс

p

предикат, используемый для проверки элементов.

Возвращает

индекс <= end последнего элемента этой строки, удовлетворяющего предикату p, или -1, если таковой не существует.

Source
def lastOption: Вариант[Символ]

Выбирает последний символ с помощью варианта.

Возвращает

последний символ этой строки, если она не пустая, None если она пустая.

Source
def lazyZip[B](that: Итерируемый[B]): LazyZip2[Символ, B, Строка]

Аналогично zip за исключением того, что элементы в каждой коллекции не потребляются до тех пор, пока над возвращаемым LazyZip2 декоратором не вызовется строгое действие.

Вызовы lazyZip могут быть объединены для поддержки более высоких арностей (до 4) без затрат на построение и деконструирование промежуточных кортежей.

val xs = List(1, 2, 3)
val res = (xs lazyZip xs lazyZip xs lazyZip xs).map((a, b, c, d) => a + b + c + d)
// res == List(4, 8, 12)
Параметры типа
B

тип второго элемента в каждой возможной паре

Параметры
that

итерируемый объект, предоставляющий второй элемент каждой возможной пары

Возвращает

декоратор LazyZip2, который позволяет выполнять строгие операции над лениво вычисляемыми парами или цепочкой вызовов lazyZip. Поддерживается также неявное преобразование в Iterable[(A, B)].

Source
def lengthCompare(len: Целое): Целое

Source
def lengthIs: Целое

Source
def linesIterator: Итератор[Строка]

Строки в этой строке, где строка заканчивается "\n", "\r", "\r\n", или концом строки. Строка может быть пустой. Разделители строк удаляются.

Source
def linesWithSeparators: Итератор[Строка]

Возвращает итератор всех строк, вложенных в эту строку, включая символы разделителей строк.

Пустая строка возвращает пустой итератор.

Source
def map[B](f: Символ => B): ИндексированныйПоследовательный[B]

Создает новую коллекцию, применяя функцию ко всем символам этой строки.

Параметры
f

функция, применяемая к каждому символу.

Возвращает

новая коллекция, полученная в результате применения данной функции f к каждому символу этой строки и сбора результатов.

Source
def map(f: Символ => Символ): Строка

Создает новую строку, применяя функцию ко всем символам этой строки.

Параметры
f

функция, применяемая к каждому символу.

Возвращает

новая строка, полученная в результате применения данной функции f к каждому символу этой строки и сбора результатов.

Source
final def mkString(start: Строка, sep: Строка, end: Строка): Строка

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

Параметры
end

конечная строка.

sep

разделительная строка.

start

начальная строка.

Возвращает

результирующая строка начинается со строки start и заканчивается строкой end. Внутри символы этой строки разделены строкой sep.

Примечание

Этот метод обрабатывает строку как обычную последовательность символов Char и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь отвечает за правильную обработку таких случаев. Если этого не сделать, может получиться некорректная строка Unicode.

Source
final def mkString(sep: Строка): Строка

Отображает все элементы этой строки в строке, используя разделительную строку.

Параметры
sep

разделительная строка.

Возвращает

В результирующей строке символы этой строки разделены строкой sep.

Примечание

Этот метод обрабатывает строку как обычную последовательность символов Char и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь отвечает за правильную обработку таких случаев. Если этого не сделать, может получиться некорректная строка Unicode.

Source
final def mkString: Строка

Возвращает эту строку

Source
def nonEmpty: Булево

Проверяет, не пустая ли строка.

Source
def padTo[B >: Символ](len: Целое, elem: B): ИндексированныйПоследовательный[B]

Возвращает коллекцию с добавленным элементом до достижения заданной целевой длины.

Параметры
elem

значение дополнения

len

целевая длина

Возвращает

коллекция, состоящая из этой строки, за которой следует минимальное количество вхождений elem таким образом, чтобы результирующая коллекция имела длину не менее len.

Source
def padTo(len: Целое, elem: Символ): Строка

Возвращает строку с добавленным символом до достижения заданной целевой длины.

Параметры значения
elem

значение отступа

len

целевая длина

Возвращаемое значение

строка, состоящая из этой строки, за которой следует минимальное количество вхождений elem, так что результирующая строка имеет длину не менее len.

Исходный код
def partition(p: Char => Boolean): (String, String)

Пара из: во-первых, всех символов, которые удовлетворяют предикату p, и, во-вторых, всех символов, которые не удовлетворяют этому предикату.

Исходный код
def partitionMap(f: Char => Either[Char, Char]): (String, String)

Применяет функцию f к каждому символу строки и возвращает пару строк: первая строка состоит из тех символов, которые возвращаются функцией f, заключённых в scala.util.Left, а вторая — из тех, которые заключены в scala.util.Right.

Пример:

val xs = "1one2two3three" partitionMap { c =>
  if (c > 'a') Left(c) else Right(c)
}
// xs == ("onetwothree", "123")
Параметры значения
f

функция 'разделения', отображающая элементы этой строки в scala.util.Either

Возвращаемое значение

пара строк: первая состоит из символов, возвращенных f, которые были обернуты в scala.util.Left, а вторая — из тех, которые были обернуты в scala.util.Right.

Исходный код
def patch[B >: Char](from: Int, other: IterableOnce[B], replaced: Int): IndexedSeq[B]

Создаёт новую коллекцию, где фрагмент символов в этой строке заменяется другой коллекцией.

Замена по отрицательным индексам эквивалентна замене, начинающейся с 0. Замена по индексам, равным или большим длины исходной строки, добавляет замену в конец. Если заменяется больше значений, чем существует, избыток игнорируется.

Параметры значения
from

индекс первого заменяемого символа

other

коллекция замены

replaced

количество символов для удаления в исходной строке

Возвращаемое значение

новая коллекция, состоящая из всех символов этой строки, за исключением того, что replaced символов, начиная с from, заменяются на other.

Исходный код
def patch(from: Int, other: IterableOnce[Char], replaced: Int): String

Создаёт новую коллекцию, где фрагмент символов в этой строке заменяется другой коллекцией.

Замена по отрицательным индексам эквивалентна замене, начинающейся с 0. Замена по индексам, равным или большим длины исходной строки, добавляет замену в конец. Если заменяется больше значений, чем существует, избыток игнорируется.

Параметры значения
from

индекс первого заменяемого символа

other

строка замены

replaced

количество символов для удаления в исходной строке

Возвращаемое значение

новая строка, состоящая из всех символов этой строки, за исключением того, что replaced символов, начиная с from, заменяются на other.

Примечание

Этот метод обрабатывает строку как обычную последовательность символов Char и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь несет ответственность за правильную обработку таких случаев. Несоблюдение этого может привести к некорректной строке Unicode.

Исходный код
def patch(from: Int, other: String, replaced: Int): String

Создаёт новую строку, где фрагмент символов в этой строке заменяется другой строкой.

Замена по отрицательным индексам эквивалентна замене, начинающейся с 0. Замена по индексам, равным или большим длины исходной строки, добавляет замену в конец. Если заменяется больше значений, чем существует, избыток игнорируется.

Параметры значения
from

индекс первого заменяемого символа

other

строка замены

replaced

количество символов для удаления в исходной строке

Возвращаемое значение

новая строка, состоящая из всех символов этой строки, за исключением того, что replaced символов, начиная с from, заменяются на other.

Примечание

Этот метод обрабатывает строку как обычную последовательность символов Char и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь несет ответственность за правильную обработку таких случаев. Несоблюдение этого может привести к некорректной строке Unicode.

Исходный код
def permutations: Iterator[String]

Итерация по различным перестановкам.

Возвращаемое значение

Итератор, который проходит по различным перестановкам этой строки.

Примечание

Этот метод обрабатывает строку как обычную последовательность символов Char и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь несет ответственность за правильную обработку таких случаев. Несоблюдение этого может привести к некорректной строке Unicode.

Пример

"abb".permutations = Iterator(abb, bab, bba)

Исходный код
def prepended[B >: Char](elem: B): IndexedSeq[B]

Копия строки с добавленным элементом в начало.

Исходный код
def prepended(c: Char): String

Копия строки с добавленным символом в начало.

Исходный код
def prependedAll[B >: Char](prefix: IterableOnce[B]): IndexedSeq[B]

Копия строки со всеми элементами из коллекции, добавленными в начало.

Исходный код
def prependedAll(prefix: String): String

Копия строки с другой строкой, добавленной в начало.

Исходный код
def r: Regex

Вы можете добавить к строке .r, превратив её в Regex. Например:

"""A\w*""".r — регулярное выражение для идентификаторов, состоящих только из ASCII-символов, начинающихся с A.

"""(?<month>\d\d)-(?<day>\d\d)-(?<year>\d\d\d\d)""".r — сопоставляет даты и предоставляет их компоненты через группы с именами "месяц", "день" и "год".

Исходный код
def reverse: String

Возвращает новую последовательность с элементами в обратном порядке.

Примечание

Этот метод обрабатывает строку как обычную последовательность символов Char и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь несет ответственность за правильную обработку таких случаев. Несоблюдение этого может привести к некорректной строке Unicode.

Исходный код
def reverseIterator: Iterator[Char]

Итератор, возвращающий символы в обратном порядке.

Примечание: xs.reverseIterator то же самое, что и xs.reverse.iterator, но реализовано более эффективно.

Возвращаемое значение

итератор, возвращающий символы этой строки в обратном порядке

Исходный код
def size: Int

Source
def sizeCompare(otherSize: Int): Int

Source
def sizeIs: Int

Source
def slice(from: Int, until: Int): String

Выбирает интервал элементов. Возвращаемая строка состоит из всех элементов x, которые удовлетворяют следующему условию:

from <= indexOf(x) < until
Параметры значения
from

наименьший индекс для включения из этой строки.

until

наименьший индекс для исключения из этой строки.

Возвращаемое значение

строка, содержащая элементы, большие или равные индексу from, и продолжающаяся до (но не включая) индекс until этой строки.

Примечание

Этот метод обрабатывает строку как простой набор символов Char и не пытается сохранить пары суррогатов или последовательности кодов. Пользователь отвечает за правильную обработку таких случаев. Несоблюдение этого может привести к недействительной строке Юникода.

Source
def sliding(size: Int, step: Int): Iterator[String]

Группирует символы в блоки фиксированного размера, пропуская "скользящее окно" по ним (в отличие от их разделения, как это делается в grouped).

Параметры значения
size

количество символов в группе

step

расстояние между первыми символами последовательных групп

Возвращаемое значение

Итератор, генерирующий строки размером size, за исключением последнего элемента (который может быть единственным), который будет усечен, если оставшихся символов для группировки меньше, чем size.

См. также

scala.collection.Iterator, метод sliding

Примечание

Этот метод обрабатывает строку как простой набор символов Char и не пытается сохранить пары суррогатов или последовательности кодов. Пользователь отвечает за правильную обработку таких случаев. Несоблюдение этого может привести к недействительной строке Юникода.

Source
def sortBy[B](f: Char => B)(implicit ord: Ordering[B]): String

Сортирует эту строку в соответствии с упорядочиванием, полученным в результате преобразования неявно заданного упорядочивания с помощью функции преобразования.

Сортировка устойчива. То есть элементы, которые равны (как определяется ord.compare), появляются в той же последовательности в отсортированной последовательности, что и в исходной.

Параметры типа
B

целевой тип преобразования f, и тип, где определено упорядочивание ord.

Параметры значения
f

функция преобразования, отображающая элементы в некоторую другую область B.

ord

указанное упорядочивание в области B.

Возвращаемое значение

строка, состоящая из символов этой строки, отсортированных в соответствии с упорядочиванием, где x < y если ord.lt(f(x), f(y)).

См. также

scala.math.Ordering

Примечание

Этот метод обрабатывает строку как простой набор символов Char и не пытается сохранить пары суррогатов или последовательности кодов. Пользователь отвечает за правильную обработку таких случаев. Несоблюдение этого может привести к недействительной строке Юникода.

Source
def sortWith(lt: (Char, Char) => Boolean): String

Сортирует эту строку в соответствии с функцией сравнения.

Сортировка устойчива. То есть элементы, которые равны (как определяется lt), появляются в той же последовательности в отсортированной последовательности, что и в исходной.

Параметры значения
lt

функция сравнения, которая проверяет, предшествует ли ее первый аргумент второму аргументу в желаемом порядке.

Возвращаемое значение

строка, состоящая из элементов этой строки, отсортированных в соответствии с функцией сравнения lt.

Примечание

Этот метод обрабатывает строку как простой набор символов Char и не пытается сохранить пары суррогатов или последовательности кодов. Пользователь отвечает за правильную обработку таких случаев. Несоблюдение этого может привести к недействительной строке Юникода.

Source
def sorted[B >: Char](implicit ord: Ordering[B]): String

Сортирует символы этой строки в соответствии с упорядочиванием.

Сортировка устойчива. То есть элементы, которые равны (как определяется ord.compare), появляются в той же последовательности в отсортированной последовательности, что и в исходной.

Параметры значения
ord

указанное упорядочивание для сравнения элементов.

Возвращаемое значение

строка, состоящая из символов этой строки, отсортированных в соответствии с упорядочиванием ord.

См. также

scala.math.Ordering

Примечание

Этот метод обрабатывает строку как простой набор символов Char и не пытается сохранить пары суррогатов или последовательности кодов. Пользователь отвечает за правильную обработку таких случаев. Несоблюдение этого может привести к недействительной строке Юникода.

Source
def span(p: Char => Boolean): (String, String)

Разделяет эту строку на пару префикс/суффикс в соответствии с предикатом.

Примечание: c span p эквивалентно (но эффективнее) (c takeWhile p, c dropWhile p), при условии, что вычисление предиката p не вызывает побочных эффектов.

Параметры значения
p

предикат проверки

Возвращаемое значение

пара, состоящая из самого длинного префикса этой строки, символы которой удовлетворяют p, и остальной части этой строки.

Source
def split(separator: Char): Array[String]

Разделяет эту строку по разделителю-символу

Если эта строка пустая, возвращает массив строк, содержащий одну пустую строку.

Если эта строка не пустая, возвращает массив, содержащий подстроки, заканчивающиеся началом строки, концом строки или разделителем, исключая пустые хвостовые подстроки

Если разделитель-символ — это символ суррогата, разделение выполняется только по совпадающим символам суррогата, если они не являются частью пары суррогатов

Поведение соответствует и реализуется с использованием String.split(re: String)

Параметры значения
separator

символ, используемый в качестве разделителя

Пример
"a.b".split('.') //returns Array("a", "b")
//splitting the empty string always returns the array with a single
//empty string
"".split('.') //returns Array("")
//only trailing empty substrings are removed
"a.".split('.') //returns Array("a")
".a.".split('.') //returns Array("", "a")
"..a..".split('.') //returns Array("", "", "a")
//all parts are empty and trailing
".".split('.') //returns Array()
"..".split('.') //returns Array()
//surrogate pairs
val high = 0xD852.toChar
val low = 0xDF62.toChar
val highstring = high.toString
val lowstring = low.toString
//well-formed surrogate pairs are not split
val highlow = highstring + lowstring
highlow.split(high) //returns Array(highlow)
//bare surrogate characters are split
val bare = "_" + highstring + "_"
bare.split(high) //returns Array("_", "_")

Source
def split(separators: Array[Char]): Array[String]

Source
def splitAt(n: Int): (String, String)

Разделяет эту строку на две части в заданной позиции. Примечание: c splitAt n эквивалентно (c take n, c drop n).

Параметры значения
n

позиция разделения.

Возвращаемое значение

пара строк, состоящая из первых n символов этой строки и других символов.

Примечание

Этот метод обрабатывает строку как простой набор символов Char и не пытается сохранить пары суррогатов или последовательности кодов. Пользователь отвечает за правильную обработку таких случаев. Несоблюдение этого может привести к недействительной строке Юникода.

Source
def stepper: IntStepper & EfficientSplit

Итератор можно использовать с потоками Java 8. Этот метод эквивалентен вызову charStepper. Также см. codePointStepper.

Source
def stripLineEnd: String

Удаляет заключительный символ конца строки из этой строки, если он есть. Символ конца строки принимается как "\n", "\r", или "\r\n".

Source
def stripMargin(marginChar: Char): String

Для каждой строки в этой строке:

Удаляет начальный префикс, состоящий из пробелов или управляющих символов, за которым следует marginChar.

Source
def stripMargin: String

Для каждой строки в этой строке:

Удаляет начальный префикс, состоящий из пробелов или управляющих символов, за которым следует | из строки.

Source
def stripPrefix(prefix: String): String

Возвращает эту строку с удаленным заданным prefix. Если эта строка не начинается с prefix, она возвращается без изменений.

Source
def stripSuffix(suffix: String): String

Возвращает эту строку с удаленным заданным suffix суффиксом. Если эта строка не заканчивается на suffix, она возвращается без изменений.

Source
def tail: String

Остаток строки без первого символа.

Примечание

Этот метод обрабатывает строку как обычную последовательность символов Char и не пытается сохранить пары суррогатов или последовательности кодов вместе. Пользователь отвечает за обеспечение правильной обработки таких случаев. Несоблюдение этого может привести к недействительной строке Unicode.

Source
def tails: Iterator[String]

Итерирует по хвостам этой строки. Первое значение будет этой строкой, а последнее — пустой строкой, а промежуточные значения — результатами последовательных применений tail.

Возвращает

итератор всех хвостов этой строки

Примечание

Этот метод обрабатывает строку как обычную последовательность символов Char и не пытается сохранить пары суррогатов или последовательности кодов вместе. Пользователь отвечает за обеспечение правильной обработки таких случаев. Несоблюдение этого может привести к недействительной строке Unicode.

Source
def take(n: Int): String

Строка, содержащая первые n символов этой строки.

Примечание

Этот метод обрабатывает строку как обычную последовательность символов Char и не пытается сохранить пары суррогатов или последовательности кодов вместе. Пользователь отвечает за обеспечение правильной обработки таких случаев. Несоблюдение этого может привести к недействительной строке Unicode.

Source
def takeRight(n: Int): String

Строка, содержащая последние n символов этой строки.

Примечание

Этот метод обрабатывает строку как обычную последовательность символов Char и не пытается сохранить пары суррогатов или последовательности кодов вместе. Пользователь отвечает за обеспечение правильной обработки таких случаев. Несоблюдение этого может привести к недействительной строке Unicode.

Source
def takeWhile(p: Char => Boolean): String

Возвращает самую длинную префиксную часть строки, символы которой удовлетворяют предикату.

Source
def toArray[B >: Char](implicit tag: ClassTag[B]): Array[B]

Source
def toBoolean: Boolean

Исключения
java.lang.IllegalArgumentException

Если строка не содержит распознаваемого Boolean.

Source
def toBooleanOption: Option[Boolean]

Попытка разобрать строку как булево значение.

Возвращает

Some(true) если строка равна "true" без учёта регистра, Some(false) если строка равна "false" без учёта регистра, и None в противном случае.

Исключения
java.lang.NullPointerException

если строка null

Source
def toByte: Byte

Разобрать строку как байт (строка должна содержать только десятичные цифры и необязательные ведущие - или +).

Исключения
java.lang.NumberFormatException

Если строка не содержит распознаваемого Byte.

Source
def toByteOption: Option[Byte]

Попытка разобрать строку как байт.

Возвращает

Some(value) если строка содержит допустимое значение байта, в противном случае None

Исключения
java.lang.NullPointerException

если строка null

Source
def toDouble: Double

Разобрать строку как двойное число (окружающие пробелы удаляются с помощью trim).

Исключения
java.lang.NullPointerException

Если строка равна null.

java.lang.NumberFormatException

Если строка не содержит распознаваемого Double.

Source
def toDoubleOption: Option[Double]

Попытка разобрать строку как двойное число.

Возвращает

Some(value) если строка является распознаваемым Double, None в противном случае

Исключения
java.lang.NullPointerException

Если строка равна null

Source
def toFloat: Float

Разобрать строку как число с плавающей точкой (окружающие пробелы удаляются с помощью trim).

Исключения
java.lang.NullPointerException

Если строка равна null.

java.lang.NumberFormatException

Если строка не содержит распознаваемого Float.

Источник
def toFloatOption: Option[Float]

Попытка разобрать строку как Float

Возвращает

Some(value) если строка является разборной Float, None в противном случае

Выбрасывает
java.lang.NullPointerException

Если строка равна null

Источник
def toInt: Int

Разбор как Int (строка должна содержать только десятичные цифры и необязательные ведущие - или +).

Выбрасывает
java.lang.NumberFormatException

Если строка не содержит разборного Int.

Источник
def toIntOption: Option[Int]

Попытка разобрать как Int

Возвращает

Some(value) если строка содержит действительное значение Int, в противном случае None

Выбрасывает
java.lang.NullPointerException

если строка null

Источник
def toLong: Long

Разбор как Long (строка должна содержать только десятичные цифры и необязательные ведущие - или +).

Выбрасывает
java.lang.NumberFormatException

Если строка не содержит разборного Long.

Источник
def toLongOption: Option[Long]

Попытка разобрать как Long

Возвращает

Some(value) если строка содержит действительное значение long, в противном случае None

Выбрасывает
java.lang.NullPointerException

если строка null

Источник
def toShort: Short

Разбор как Short (строка должна содержать только десятичные цифры и необязательные ведущие - или +).

Выбрасывает
java.lang.NumberFormatException

Если строка не содержит разборного Short.

Источник
def toShortOption: Option[Short]

Попытка разобрать как Short

Возвращает

Some(value) если строка содержит действительное значение short, в противном случае None

Выбрасывает
java.lang.NullPointerException

если строка null

Источник
def updated(index: Int, elem: Char): String

Копия этой строки с одним заменённым элементом.

Параметры значения
elem

элемент замены

index

позиция замены

Возвращает

новая строка, являющаяся копией этой строки с элементом в позиции index заменённым на elem.

Выбрасывает
IndexOutOfBoundsException

если index не удовлетворяет 0 <= index < length.

Примечание

Этот метод обрабатывает строку как обычную последовательность кодовых единиц Char и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь отвечает за правильную обработку таких случаев. Невыполнение этого может привести к некорректной строке Unicode.

Источник
def view: StringView

Источник
def withFilter(p: Char => Boolean): WithFilter

Создаёт нестрогий фильтр этой строки.

Параметры значения
p

предикат, используемый для проверки элементов.

Возвращает

объект класса stringOps.WithFilter, который поддерживает map, flatMap, foreach, и withFilter операции. Все эти операции применяются к тем символам этой строки, которые удовлетворяют предикату p.

Примечание

разница между c filter p и c withFilter p в том, что первый создаёт новую строку, а второй только ограничивает область последующих map, flatMap, foreach, и withFilter операций.

© 2002-2022 EPFL, with contributions from Lightbend.
Licensed under the Apache License, Version 2.0.
https://scala-lang.org/api/3.2.0/scala/collection/StringOps.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API