iOS SDK предоставляет String API
func enumerateSubstrings<R>(in range: R, options opts: String.EnumerationOptions = [], _ body: @escaping (String?, Range<String.Index>, Range<String.Index>, inout Bool) -> Void) where R : RangeExpression, R.Bound == String.Index
Один из вариантов - .byWords
, который позволяет перечислять слова в строке. Вы также можете использовать .reverse
для перечисления в обратном порядке.
Мне нужно сделать это и в Android. Вариант использования - извлечь подстроку в большей строке и добавить x
количество слов перед ней и y
количество слов после нее. Например, для Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
и фразы do eiusmod tempor incididunt
, где x = 1
и y = 2
, создайте результирующую строку sed do eiusmod tempor incididunt ut labore
.
Пока я извлекаю соответствующий диапазон, и теперь мне интересно, как получить слова.
var match = this.removeRange(0, this.indexOf(phrase, 0, true))
match = match.removeRange(phrase.length, match.length)