Main Content

convertStringsToChars

他の配列を変更せずに、string 配列を文字配列に変換

説明

独自のコードを扱う場合、convertStringsToChars を使用することで、独自のコードで string の受け入れが可能になります。このため、文字配列を処理する作成済みのコードにその他の変更を加える必要がなくなります。

B = convertStringsToChars(A) は、A が string 配列の場合、A を文字ベクトルまたは文字ベクトルの cell 配列に変換します。それ以外の場合、convertStringsToCharsA を変更せずに返します。

[B1,...,Bn] = convertStringsToChars(A1,...,An)A1,...,An 内の string 配列を文字ベクトルまたは文字ベクトルの cell 配列に変換してから、これらを対応する出力引数として B1,...,Bn に返します。引数 A1,...,An のいずれかが他のデータ型である場合、convertStringsToChars はそれを変更せずに返します。

すべて折りたたむ

string スカラーを作成し、それを文字ベクトルに変換します。

str = "Mercury"
str = 
"Mercury"
chr = convertStringsToChars(str)
chr = 
'Mercury'

string 配列を文字ベクトルの cell 配列に変換します。

str = ["Venus","Earth","Mars"]
str = 1x3 string
    "Venus"    "Earth"    "Mars"

C = convertStringsToChars(str)
C = 1x3 cell
    {'Venus'}    {'Earth'}    {'Mars'}

異なる型からなる任意の数の入力配列を処理して、string 配列のみを文字配列に変換します。

一連の数値配列、文字配列および string 配列を作成します。

A = [1 2 3]
A = 1×3

     1     2     3

str = ["Mercury","Gemini","Apollo"]
str = 1x3 string
    "Mercury"    "Gemini"    "Apollo"

B = [2 5; 7 6]
B = 2×2

     2     5
     7     6

C = {'volts','amps'}
C = 1x2 cell
    {'volts'}    {'amps'}

string 配列を変換し、その他の配列は変更せずに返します。

[newA,newStr,newB,newC] = convertStringsToChars(A,str,B,C)
newA = 1×3

     1     2     3

newStr = 1x3 cell
    {'Mercury'}    {'Gemini'}    {'Apollo'}

newB = 2×2

     2     5
     7     6

newC = 1x2 cell
    {'volts'}    {'amps'}

入力引数

すべて折りたたむ

入力配列。任意のサイズとデータ型の配列として指定します。

出力引数

すべて折りたたむ

出力配列。出力配列のデータ型は、入力配列 A のデータ型によって決まります。

  • A が string スカラーである場合、B は文字ベクトルです。

  • A がそれ以外のサイズの string 配列である場合、B は同じサイズをもつ文字ベクトルの cell 配列です。

  • A が他のデータ型である場合、BA と同一になります。

A が string 配列である場合、convertStringsToChars は以下の要素をすべて変換します。

  • 空の string ("" として表示) を 00 列の文字配列 ('' として表示) に

  • 欠損 string (<missing> として表示) を 00 列の文字配列に

A が空の string 配列である場合、B は空の cell 配列です。空の配列には、サイズが 0 の次元が少なくとも 1 つあります。

ヒント

  • 既存の独自のコードで、string 配列の入力を受け入れ可能にするには、コードの先頭に convertStringsToChars の呼び出しを追加します。

    たとえば、3 つの入力引数を受け入れる関数 myFunc を定義した場合、convertStringsToChars を使用して 3 つすべての入力を処理します。コードの他の部分は変更せずに残します。

    function y = myFunc(a,b,c)
        [a,b,c] = convertStringsToChars(a,b,c);
        <line 1 of original code>
        <line 2 of original code>
        ...

    この例では、出力引数 [a,b,c] が所定の位置の入力引数を上書きします。string 配列以外の入力引数は、すべて変更されません。

    myFunc が可変の個数の入力引数を受け入れる場合は、varargin で指定された引数をすべて処理します。

    function y = myFunc(varargin)
        [varargin{:}] = convertStringsToChars(varargin{:});
        ...
  • 1 つの入力引数を変換する場合は関数 convertStringsToChars がより効率的です。パフォーマンスを重視する場合は、複数の入力について convertStringsToChars を一度呼び出すのではなく、入力引数ごとに一度呼び出します。

拡張機能

C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。

スレッドベースの環境
MATLAB® の backgroundPool を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool を使用してコードを高速化します。

バージョン履歴

R2017b で導入