Spec-Zone.ru › Scala 3.1

Класс scala.collection.StringOps

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

final class StringOps(s: String) extends AnyVal

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

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

Супертипы
класс AnyVal
тракт Matchable
класс Any

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

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

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

Исходный код@inline
def ++[B >: Char](suffix: Iterable[B]): IndexedSeq[B]

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

Исходный код@inline
def ++(suffix: IterableOnce[Char]): String

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Исходный код@inline
def :++[B >: Char](suffix: IterableOnce[B]): IndexedSeq[B]

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

Исходный код@inline
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

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

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

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

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

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

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

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

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

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

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

Исходный код@inline
def appendedAll[B >: Char](suffix: IterableOnce[B]): IndexedSeq[B]

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

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

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

Исходный код@inline
def apply(i: Int): Char

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

Source
def capitalize: String

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

Source@inline
def charStepper: IntStepper & EfficientSplit

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

Source@inline
def codePointStepper: IntStepper & EfficientSplit

Перебирает кодовые точки в этой строке.

Source
def collect(pf: PartialFunction[Char, Char]): String

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

Параметры
pf

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

Возвращает

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

Source
def collect[B](pf: PartialFunction[Char, B]): IndexedSeq[B]

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

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

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

Параметры
pf

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

Возвращает

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

Source
def combinations(n: Int): Iterator[String]

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

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

Возвращает

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

Примечание

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

Пример

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

Source
def compare(that: String): Int

Source
def concat[B >: Char](suffix: IterableOnce[B]): IndexedSeq[B]

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

Параметры
suffix

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

Возвращает

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

Source
def concat(suffix: IterableOnce[Char]): String

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

Параметры
suffix

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

Возвращает

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

Source@inline
def concat(suffix: String): String

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

Параметры
suffix

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

Возвращает

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

Source
def contains(elem: Char): Boolean

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

Параметры
elem

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

Возвращает

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

Source@inline
def copyToArray(xs: Array[Char]): Int

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

Параметры
xs

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

Source@inline
def copyToArray(xs: Array[Char], start: Int): Int

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

Параметры
start

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

xs

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

Source
def copyToArray(xs: Array[Char], start: Int, len: Int): Int

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

Параметры
len

максимальное количество копируемых элементов.

start

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

xs

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

Source
def count(p: Char => Boolean): Int

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

Source
def diff[B >: Char](that: Seq[B]): String

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

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

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

Возвращает

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

Примечание

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

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@inline
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@inline
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: (Символ, B) => B): B

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

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

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

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

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

z

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

Возвращает

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

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

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

Source
def forall(@deprecatedName("f", "2.13.3") p: Символ => Boolean): Boolean

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

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

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

Возвращает

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

Source
def foreach[U](f: Символ => U): Unit

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

Source
def format(args: Любой*): String

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

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

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

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

Source
def formatLocal(l: Locale, args: Любой*): String

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

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

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

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

l

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

Source
def groupBy[K](f: Символ => K): Map[K, String]

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

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

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

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

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

Возвращает

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

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

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

Примечание

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

Source
def grouped(size: ЦелоеЧисло): Итератор[String]

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

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

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

Возвращает

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

См. также

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

Примечание

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

Source
def head: Символ

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

Возвращает

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

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

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

Source
def headOption: Option[Символ]

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

Возвращает

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

Source
def indexWhere(p: Символ => Boolean, from: ЦелоеЧисло): ЦелоеЧисло

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

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

стартовый индекс

p

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

Возвращает

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

Source
def indices: Диапазон

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

Возвращает

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

Source
def init: String

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

Примечание

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

Source
def inits: Итератор[String]

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

Возвращает

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

Примечание

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

Source
def intersect[B >: Символ](that: Seq[B]): String

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

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

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

Возвращает

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

Примечание

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

Исходный код
def iterator: Итератор[Символ]

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

Исходный код@inline
def knownSize: Целое число

Исходный код
def last: Символ

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

Возвращает

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

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

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

Исходный код
def lastIndexWhere(p: Символ => Булево значение, end: Целое число): Целое число

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

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

индекс конца

p

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

Возвращает

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

Исходный код
def lastOption: Вариант[Символ]

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

Возвращает

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

Исходный код
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)].

Исходный код
def lengthCompare(len: Целое число): Целое число

Исходный код
def lengthIs: Целое число

Исходный код
def linesIterator: Итератор[Строка]

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

Исходный код
def linesWithSeparators: Итератор[Строка]

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

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

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

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

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

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

Возвращает

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

Исходный код
def map(f: Символ => Символ): Строка

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

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

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

Возвращает

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

Исходный код
final def mkString(start: Строка, sep: Строка, end: Строка): Строка

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

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

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

sep

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

start

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

Возвращает

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

Примечание

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

Исходный код@inline
final def mkString(sep: Строка): Строка

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

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

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

Возвращает

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

Примечание

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

Исходный код@inline
final def mkString: Строка

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

Исходный код@inline
def nonEmpty: Булево значение

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

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

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

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

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

len

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

Возвращает

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

Исходный код
def padTo(len: Int, elem: Char): String

Возвращает строку с добавленным символом до тех пор, пока не будет достигнута заданная длина.

Параметры значения
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.

Source
def reverseIterator: Iterator[Char]

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

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

Возвращает

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

Source@inline
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 и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь отвечает за правильную обработку таких случаев. Несоблюдение этого может привести к неверной строке Unicode.

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

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

Параметры
size

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

step

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

Возвращает

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

См. также

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

Примечание

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

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 и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь отвечает за правильную обработку таких случаев. Несоблюдение этого может привести к неверной строке Unicode.

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

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

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

Параметры
lt

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

Возвращает

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

Примечание

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

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

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

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

Параметры
ord

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

Возвращает

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

См. также

scala.math.Ordering

Примечание

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

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@throws(scala.Predef.classOf[java.util.regex.PatternSyntaxException])
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 и не пытается сохранить пары суррогатов или последовательности кодовых точек вместе. Пользователь несет ответственность за правильную обработку таких случаев. Несоблюдение этого может привести к недействительной строке Unicode.

Source@inline
def stepper: IntStepper & EfficientSplit

Stepper можно использовать с потоками 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]

Попытаться разобрать как Boolean.

Возвращает

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

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

если строка null

Source
def toByte: Byte

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

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

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

Source
def toByteOption: Option[Byte]

Попытаться разобрать как Byte

Возвращает

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

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

если строка null

Source
def toDouble: Double

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

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

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

java.lang.NumberFormatException

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

Source
def toDoubleOption: Option[Double]

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

Возвращает

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

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

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

Source
def toFloat: Float

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

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

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

java.lang.NumberFormatException

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

Source
def toFloatOption: Option[Float]

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

Возвращает

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

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

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

Source
def toInt: Int

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

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

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

Source
def toIntOption: Option[Int]

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

Возвращает

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

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

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

Source
def toLong: Long

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

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

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

Source
def toLongOption: Option[Long]

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

Возвращает

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

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

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

Source
def toShort: Short

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

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

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

Source
def toShortOption: Option[Short]

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

Возвращает

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

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

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

Source
def updated(index: Int, elem: Char): String

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

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

заменяющий элемент

index

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

Возвращает

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

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

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

Примечание

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

Source@inline
def view: StringView

Source
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.1.1/scala/collection/StringOps.html

Spec-Zone.ru

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