Spec-Zone.ru › Scala 2.13 Library

Класс scala.collection.StringOps

Компаньон объект StringOps

final класс StringOps extends AnyVal

Источник
StringOps.scala
Линейные супертипы
AnyVal, Any

Конструкторы экземпляров

новый StringOps(s: String)

Члены-значения

final def !=(arg0: Any): Boolean

Проверка двух объектов на неравенство.

returns

true если !(this == that), иначе false.

Definition Classes
Any

final def ##(): Int

Эквивалентно x.hashCode за исключением упакованных числовых типов и null. Для числовых типов возвращает хэш-значение, согласованное с равенством значений: если два экземпляра типа значения сравниваются как true, то ## вернёт одно и то же хэш-значение для каждого из них. Для null возвращает хэш-код, где null.hashCode генерирует NullPointerException.

returns

хэш-значение, согласованное с ==

Definition Classes
Any

def *(n: Int): String

def +(other: String): String

Неявный
Этот член добавлен неявным преобразованием из StringOps в any2stringadd[StringOps] с помощью метода any2stringadd в scala.Predef.
Definition Classes
any2stringadd

def ++(xs: String): String

def ++(suffix: IterableOnce[Char]): String

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

Аннотации
@inline()

def ++[B >: Char](suffix: Iterable[B]): immutable.IndexedSeq[B]

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

Аннотации
@inline()

def ++:(prefix: String): String

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

Аннотации
@inline()

def ++:[B >: Char](prefix: IterableOnce[B]): immutable.IndexedSeq[B]

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

Аннотации
@inline()

def +:(c: Char): String

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

Аннотации
@inline()

def +:[B >: Char](elem: B): immutable.IndexedSeq[B]

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

Аннотации
@inline()

def ->[B](y: B): (StringOps, B)

Неявный
Этот член добавлен неявным преобразованием из StringOps в ArrowAssoc[StringOps] с помощью метода ArrowAssoc в scala.Predef.
Definition Classes
ArrowAssoc
Аннотации
@inline()

def :+(c: Char): String

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

Аннотации
@inline()

def :+[B >: Char](elem: B): immutable.IndexedSeq[B]

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

Аннотации
@inline()

def :++(suffix: String): String

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

Аннотации
@inline()

def :++[B >: Char](suffix: IterableOnce[B]): immutable.IndexedSeq[B]

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

Аннотации
@inline()

def <(that: String): Boolean

def <=(that: String): Boolean

final def ==(arg0: Any): Boolean

Тестирование двух объектов на равенство. Выражение x == that эквивалентно if (x eq null) that eq null else x.equals(that).

возвращает

true если объект-приемник эквивалентен аргументу; false в противном случае.

Определяющие классы
Any

def >(that: String): Boolean

def >=(that: String): Boolean

final def addString(b: mutable.StringBuilder, start: String, sep: String, end: String): mutable.StringBuilder

final def addString(b: mutable.StringBuilder, sep: String): mutable.StringBuilder

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

Аннотации
@inline()

final def addString(b: mutable.StringBuilder): mutable.StringBuilder

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

Аннотации
@inline()

def appended(c: Char): String

def appended[B >: Char](elem: B): immutable.IndexedSeq[B]

def appendedAll(suffix: String): String

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

Аннотации
@inline()

def appendedAll[B >: Char](suffix: IterableOnce[B]): immutable.IndexedSeq[B]

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

Annotations
@inline()

def apply(i: Int): Char

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

Annotations
@inline()

final def asInstanceOf[T0]: T0

Приведение текущего объекта к типу T0.

Обратите внимание, что успех приведения во время выполнения зависит от семантики стирания в Scala. Поэтому выражение 1.asInstanceOf[String] выбросит ClassCastException во время выполнения, а выражение List(1).asInstanceOf[List[String]] — нет. В последнем примере, так как аргумент типа стирается во время компиляции, нельзя проверить, соответствуют ли содержимое списка нужному типу.

returns

текущий объект.

Definition Classes
Any
Исключения

ClassCastException, если текущий объект не является экземпляром стираемого типа T0.

def capitalize: String

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

def charStepper: IntStepper with EfficientSplit

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

Annotations
@inline()

def codePointStepper: IntStepper with EfficientSplit

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

Annotations
@inline()

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

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

B

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

pf

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

returns

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

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

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

pf

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

returns

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

def compare(that: String): Int

def concat(suffix: String): String

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

suffix

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

returns

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

Annotations
@inline()

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

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

suffix

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

returns

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

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

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

suffix

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

returns

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

def contains(elem: Char): Boolean

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

elem

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

returns

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

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

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

xs

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

start

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

len

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

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

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

xs

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

start

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

Annotations
@inline()

def copyToArray(xs: Array[Char]): Int

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

xs

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

Annotations
@inline()

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

def drop(n: Int): String

def dropRight(n: Int): String

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

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

p

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

returns

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

def ensuring(cond: (StringOps) => Boolean, msg: => Any): StringOps

Implicit
Этот член добавлен неявным преобразованием из StringOps вEnsuring[StringOps] выполненным методом Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: (StringOps) => Boolean): StringOps

Implicit
Этот член добавлен неявным преобразованием из StringOps вEnsuring[StringOps] выполненным методом Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean, msg: => Any): StringOps

Implicit
Этот член добавлен неявным преобразованием из StringOps вEnsuring[StringOps] выполненным методом Ensuring в scala.Predef.
Definition Classes
Ensuring

def ensuring(cond: Boolean): StringOps

Неявный
Этот член добавлен неявным преобразованием из StringOps вEnsuring[StringOps] с помощью метода Ensuring в scala.Predef.
Классы определения
Ensuring

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

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

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

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

Аннотации
@inline()

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

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

p

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

возвращает

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

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

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

f

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

возвращает

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

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

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

f

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

возвращает

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

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

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

A1

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

z

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

op

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

возвращает

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

Аннотации
@inline()

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

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

B

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

z

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

op

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

возвращает

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

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

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

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

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

B

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

z

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

op

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

возвращает

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

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

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

def forall(f: (Char) => Boolean): Boolean

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

returns

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's format.

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

l

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

args

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

Исключения

def formatted(fmtstr: String): String

Возвращает строку, отформатированную в соответствии с заданной строкой format. Форматы строк, как в String.format (@see java.lang.String.format).

Неявный
Этот член добавлен неявным преобразованием из StringOps в StringFormat[StringOps] посредством метода StringFormat в scala.Predef.
Definition Classes
StringFormat
Аннотации
@inline()

def getClass(): Class[_ <: AnyVal]

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

returns

объект класса, соответствующий типу получателя во время выполнения.

Definition Classes
AnyVal → Any

def grouped(size: Int): Iterator[String]

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

size

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

returns

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

См. также

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

def head: Char

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

returns

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

Исключения

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

def headOption: Option[Char]

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

returns

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

def indexWhere(p: (Char) => Boolean, from: Int = 0): Int

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

p

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

from

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

returns

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

def indices: Range

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

returns

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

def init: String

def inits: Iterator[String]

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

returns

итератор всех начальных подстрок (inits) этой строки

final def isInstanceOf[T0]: Boolean

Проверяет, соответствует ли динамический тип объекта-получателя типу T0.

Обратите внимание, что результат проверки зависит от правил стирания Scala. Следовательно, выражение 1.isInstanceOf[String] вернет false, а выражение List(1).isInstanceOf[List[String]] вернёт true. В последнем примере, из-за стирания типа во время компиляции, невозможно проверить, соответствуют ли элементы списка заданному типу.

returns

true, если объект-получатель является экземпляром стираемого типа T0; false в противном случае.

Definition Classes
Any

def iterator: Iterator[Символ]

def knownSize: Целое число

Annotations
@inline()

def last: Символ

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

returns

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

Исключения

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

def lastIndexWhere(p: (Символ) => Булево, end: Целое число = Целое число.Максимальное значение): Целое число

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

p

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

end

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

returns

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

def lastOption: Option[Символ]

Возвращает опциональное значение последнего символа.

returns

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

def lazyZip[B](that: Iterable[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

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

returns

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

def lengthCompare(len: Целое число): Целое число

def lengthIs: Целое число

def linesIterator: Iterator[Строка]

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

def linesWithSeparators: Iterator[Строка]

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

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

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

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

f

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

returns

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

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

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

f

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

returns

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

final def mkString: String

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

Аннотации
@inline()

final def mkString(sep: String): String

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

sep

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

возвращает

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

Аннотации
@inline()

final def mkString(start: String, sep: String, end: String): String

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

start

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

sep

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

end

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

возвращает

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

def nonEmpty: Boolean

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

Аннотации
@inline()

def padTo(len: Int, elem: Char): String

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

len

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

elem

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

возвращает

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

def padTo[B >: Char](len: Int, elem: B): immutable.IndexedSeq[B]

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

len

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

elem

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

возвращает

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

def partition(p: (Char) => Boolean): (String, String)

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(from: Int, other: String, replaced: Int): String

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

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

from

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

other

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

replaced

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

возвращает

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

def patch(from: Int, other: IterableOnce[Char], replaced: Int): String

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

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

from

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

other

заменяющая строка

replaced

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

returns

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

def patch[B >: Char](from: Int, other: IterableOnce[B], replaced: Int): immutable.IndexedSeq[B]

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

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

from

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

other

заменяющая коллекция

replaced

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

returns

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

def prepended(c: Char): String

def prepended[B >: Char](elem: B): immutable.IndexedSeq[B]

def prependedAll(prefix: String): String

def prependedAll[B >: Char](prefix: IterableOnce[B]): immutable.IndexedSeq[B]

def r(groupNames: String*): Regex

Вы можете добавить к строке .r(g1, ... , gn), превратив её в Regex, с именами групп g1 до gn.

"""(\d\d)-(\d\d)-(\d\d\d\d)""".r("month", "day", "year") соответствует датам и предоставляет их составляющие через группы с именами "month", "day" и "year".

groupNames

Имена групп в шаблоне, в порядке их появления.

def r: Regex

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

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

def replaceAllLiterally(literal: String, replacement: String): String

Заменяет все буквальные вхождения literal на строку replacement. Этот метод эквивалентен java.lang.String#replace.

literal

строка, которая должна быть заменена везде, где она встречается

replacement

заменяющая строка

returns

результирующая строка

def reverse: String

def reverseIterator: Iterator[Char]

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

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

returns

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

def size: Int

Annotations
@inline()

def sizeCompare(otherSize: Int): Int

def sizeIs: Int

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

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

from <= indexOf(x) < until
from

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

until

наименьший индекс для ИСКЛЮЧЕНИЯ из этой строки.

returns

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

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

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

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

p

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

возвращает

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

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

Annotations
@throws(classOf[java.util.regex.PatternSyntaxException])

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("_", "_")

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

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

n

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

возвращает

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

def stepper: IntStepper with EfficientSplit

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

Annotations
@inline()

def stripLineEnd: String

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

def stripMargin: String

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

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

def stripMargin(marginChar: Char): String

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

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

def stripPrefix(prefix: String): String

Возвращает эту строку со строкой-префиксом, удалённой. Если эта строка не начинается с prefix, возвращается она же.

def stripSuffix(suffix: String): String

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

def tail: String

def tails: Iterator[String]

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

возвращает

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

def take(n: Int): String

def takeRight(n: Int): String

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

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

def toBoolean: Boolean

Исключения

java.lang.IllegalArgumentException Если строка не содержит разбираемого Boolean.

def toBooleanOption: Option[Boolean]

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

возвращает

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

Исключения

java.lang.NullPointerException если строка null

def toByte: Byte

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

Исключения

java.lang.NumberFormatException Если строка не содержит разбираемого Byte.

def toByteOption: Option[Byte]

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

возвращает

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

Исключения

java.lang.NullPointerException если строка null

def toDouble: Double

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

Исключения

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

java.lang.NumberFormatException Если строка не содержит разбираемого Double.

def toDoubleOption: Option[Double]

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

возвращает

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

Исключения

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

def toFloat: Float

Разбор как 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

returns

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

Исключения

java.lang.NullPointerException если строка null

def toString(): String

Возвращает строковое представление объекта.

По умолчанию представление зависит от платформы.

returns

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

Классы-предки
Any

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

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

index

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

elem

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

returns

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

Исключения

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

def view: StringView

Аннотации
@inline()

def withFilter(p: (Char) => Boolean): StringOps.WithFilter

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

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

p

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

returns

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

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

Spec-Zone.ru

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