part
выделение строк
Синтаксис
strings_out = part(strings_in, v)
Аргументы
- strings_in, strings_out
матрицы символьных строк.
- v
вектор целых значений, содержащий индексы символов, которые требуется выделить. Символ
$
означаетlength(strings_in)
.
Описание
Обозначим как s[k]
k
-тый
символ строки s
(или пробел, если
k >length(s)
).
Функция part
возвращает
strings_out
, матрицу символьных строк, такую, что
strings_out(i,j)
является строкой
"s[v(1)]...s[v(n)]"
(s = strings_in(i,j)
).
Примеры
// возвращает символы с 8 по 11 part("Как использовать ""part"" ?",8:11) // возвращает символы с 2 по 4 для каждого элемента // отсутствие символов заменяется '' c = part(['a','abc','abcd'], 2:4) // возвращает 1-й символ каждого элемента плюс символы с // 4 по 7 каждого элемента c = part(['abcdefg','hijklmn','opqrstu'], [1,4:7]); // возвращает 4-й символ каждого элемента, плюс символы с // 1 по 7 и плюс 4-й символ каждого элемента c = part(['abcdefg','hijklmn','opqrstu'], [4,1:7,4]); // возвращает 1-й символ плюс ещё 1-й символ и плюс // 2-й символ c=part(['a','abc','abcd'], [1,1,2]) part(['a', 'abc', 'abcd'], [1]) // => ['a' 'a' 'a'] part(['a', 'abc', 'abcd'], [1 1]) // => ['aa' 'aa' 'aa'] part(['a', 'abc', 'abcd'], [1 1 2]) // => ['aa ' 'aab' 'aab'] // Повторение смвола N раз: N = 10; part('-', ones(1:N)) // => '----------' // Повторение шаблона N раз: N = 6; pat = '- '; part(pat, ones(1:N).*.(1:length(pat))) // => '- - - - - - ' // Истользование $ как неявной длины строк: // 1) part(['a string' 'another longer one'], $-2:$ ) // => [ 'ing' 'one'] // 2) Другая имплементация strrev(): part('Hello world', $:-1:1) // => 'dlrow olleH' // 3) Без указания диапазона $: part('Hello world', [ $ 4:5 ]) // => 'dlo' // 4) Смесь скаляра и неуказа диапазона $ с указанием диапазона невозможно: part("Hello", [ 1 $-1:$ $ ]) // => error
Смотрите также
История
Версия | Описание |
5.5.0 | Символ $ , означающий length(input_strings), теперь принимается
в индексах выбранных символов. |
Report an issue | ||
<< length | Строки | prettyprint >> |