Scilab Website | Contribute with GitLab | Mailing list archives | ATOMS toolboxes
Scilab Online Help
2024.1.0 - Русский


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

Смотрите также

  • string — преобразование в строку
  • strsplit — разделение единой строки по заданным позициям или шаблонам
  • length — Количество символов текста. Количество элементов массива или списка.

История

ВерсияОписание
5.5.0 Символ $, означающий length(input_strings), теперь принимается в индексах выбранных символов.
Report an issue
<< length Строки prettyprint >>

Copyright (c) 2022-2024 (Dassault Systèmes)
Copyright (c) 2017-2022 (ESI Group)
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Mon Jun 17 17:55:07 CEST 2024