Main Content

convertCharsToStrings

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

説明

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

B = convertCharsToStrings(A) は、A が文字配列または文字ベクトルの cell 配列である場合、A を string 配列に変換します。A がそれ以外のデータ型である場合、convertCharsToStringsA を変更せずに返します。

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

すべて折りたたむ

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

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

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

C = {'Venus','Earth','Mars'}
C = 1x3 cell
    {'Venus'}    {'Earth'}    {'Mars'}

str = convertCharsToStrings(C)
str = 1x3 string
    "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'}

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

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

     1     2     3

newStr = 1x3 string
    "Mercury"    "Gemini"    "Apollo"

newB = 2×2

     2     5
     7     6

newC = 1x2 string
    "volts"    "amps"

入力引数

すべて折りたたむ

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

出力引数

すべて折りたたむ

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

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

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

  • A が複数行からなる文字配列の場合、A の列が連結され、B は string スカラーとして返されます。たとえば、3 行 2 列の文字配列 ['Xx';'Yy';'Zz']"XYZxyz" に変換されます。

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

ヒント

  • string を処理するコードで、文字配列の入力を受け入れ可能にするには、コードの先頭に convertCharsToStrings の呼び出しを追加します。

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

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

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

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

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

拡張機能

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

バージョン履歴

R2017b で導入