Scilab Home page | Wiki | Bug tracker | Forge | Mailing list archives | ATOMS | File exchange
Please login or create an account
Change language to: English - Português - Русский - 日本語

Please note that the recommended version of Scilab is 6.0.0. This page might be outdated.
See the recommended documentation of this function

Aide de Scilab >> Chaînes de caractères > part

part

Extraction of characters from strings

Calling Sequence

[strings_out] = part(strings_in, v)

Arguments

strings_in

a character string or matrix of character string.

v

a vector of integer values containing the indices of characters to be extracted. $ is accepted and means length(strings_in).

strings_out

a character string or matrix of character string.

Description

This function extracts characters from strings. The characters to be extracted are referred to by their indices contained in v.

strings_out is filled with whitespace characters when indices are beyond the input string's length.

v may contain $ symbol which stands for the length of string_in.

Examples

// Returns characters position 8 to 11
part("How to use ""part"" ?", 8:11)

// Returns characters position 2 to 4 for each element
// No characters replaced by ''
c = part(['a', 'abc', 'abcd'], 2:4)

// Returns character position 1 for each element and add characters position
// 4 to 7 of each element
c = part(['abcdefg', 'hijklmn', 'opqrstu'], [1, 4:7]);

// Returns character 4 for each element, add characters position 1 to 7 and
// add character position 4 for each element
c = part(['abcdefg', 'hijklmn', 'opqrstu'], [4, 1:7, 4]);

// Returns character position 1, add again character position 1 and
// character position 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']

// Repeating a character N times:
N = 10; part('-', ones(1:N))          // => '----------'

// Repeating a pattern N times:
N = 6; pat = '- '; 
part(pat, ones(1:N).*.(1:length(pat))) // => '- - - - - - '

// Using $ = implicit length of strings: 
// 1)
part(['a string' 'another longer one'], $-2:$ ) // => [ 'ing' 'one']

// 2) Another implementation for strrev():
part('Hello world', $:-1:1)          // => 'dlrow olleH'

// 3) With unranging $:
part('Hello world', [ $ 4:5 ])      // => 'dlo'

// 4) Mixing scalar or unrangin $ with ranging ones is not possible:
part("Hello", [ 1 $-1:$ $ ])      // =>  error

See Also

  • string — conversion en chaîne de caractères
  • strsplit — split a string into a vector of strings
  • length — length of object

History

VersionDescription
5.5.0 $ standing for length(input_strings) is now accepted in indices of selected characters
Scilab Enterprises
Copyright (c) 2011-2017 (Scilab Enterprises)
Copyright (c) 1989-2012 (INRIA)
Copyright (c) 1989-2007 (ENPC)
with contributors
Last updated:
Thu Oct 02 13:54:34 CEST 2014