ドキュメンテーション

最新のリリースでは、このページがまだ翻訳されていません。 このページの最新版は英語でご覧になれます。

string

説明

R2016b 以降では、文字配列の代わりに "string 配列" を使用してテキストを表現できます。string 配列の各要素は、文字のシーケンスを格納します。このシーケンスは、"yes""no" などパディングなしの異なる長さをもつことができます。1 つの要素しかない string 配列は、"string スカラー" とも呼ばれます。

標準の配列演算を使用して string 配列のインデックス付け、形状変更、連結ができ、+ 演算子を使用してテキストを string に追加できます。string 配列が数値を表す場合、関数 double を使用してこれを数値配列に変換できます。

作成

テキストを二重引用符で囲むことで string を作成できます。二重引用符の使用は、R2017a から導入されました。

str = "Hello, world"
str = 
"Hello, world"

string 配列を作成する 1 つの方法は、数値を数値配列に連結できるのと同様に、大かっこを使用して string を配列に連結することです。

str = ["Mercury","Gemini","Apollo";
       "Skylab","Skylab B","ISS"]
str = 2x3 string array
    "Mercury"    "Gemini"      "Apollo"
    "Skylab"     "Skylab B"    "ISS"   

以下に説明するように、関数 string を使用して異なるデータ型の変数を string 配列に変換することもできます。

説明

str = string(A) は、入力配列を string 配列に変換します。

str = string(D) は、datetime 配列、duration 配列またはカレンダー期間配列を、DFormat プロパティで指定された形式の string 配列に変換します。出力の各行に日付または期間が 1 つずつ格納されます。

str = string(D,fmt) は、日付または期間を指定された形式 ('HH:mm:ss' など) で表現します。

str = string(D,fmt,locale) は、日付または期間を指定されたロケール ('en_US' など) で表現します。ロケールは、月や曜日の名前などの string を表現する場合に使用される言語に影響します。

入力引数

すべて展開する

入力配列。A のデータ型によって、stringA を string 配列に変換する方法が決定します。

  • A が文字ベクトルの場合、stringA を string スカラーに変換します。出力 str と入力 A には同じ順序で同じ文字が含まれます。

  • A が cell 配列または categorical 配列である場合、stringA の各要素を str の string 要素に変換します。

  • A が数値配列である場合、string は各数値を str の string 要素に変換します。

    関数 char とは異なり、string は数値を ASCII または Unicode® のコード ポイントとして扱いません。

  • A が logical 配列である場合、string は各値を "false" または "true" のいずれかに変換します。

  • A[] である場合、string00 列の string 配列を返します。

入力の日付と時刻。datetime 配列または duration 配列として指定します。

データ型: datetime | duration | calendarDuration

日付と時刻の形式。[]、文字ベクトルまたは string スカラーとして指定します。[] を指定した場合、stringDFormat プロパティで指定された形式で入力 D を表現します。

サポートされる形式は D のデータ型によって異なります。

  • datetime の形式は、'yyyy-MMM-dd HH:mm:ss.SSS' のように単位と区切り記号を組み合わせて指定できます。詳細については、datetime 配列の Format プロパティを参照してください。

  • duration の形式は、'y''d''h''m''s' のいずれか 1 文字か、次のいずれかの組み合わせになります。

    • 'dd:hh:mm:ss'

    • 'hh:mm:ss'

    • 'mm:ss'

    • 'hh:mm'

    • 上記のいずれかに秒の小数部を表す文字 S (最大 9 桁) を加えた 'hh:mm:ss.SSSS' のような形式

  • calendarDuration の形式は、文字 'y''q''m''w''d''t''ym' のように大きい単位から小さい単位の順に組み合わせて指定できます。

duration および calendarDuration の形式についての詳細は、日付と時刻の表示形式の設定を参照してください。

出力で表現されるロケール。文字ベクトルまたは string スカラーとして指定します。ロケールは、月の名前などの日付と時刻の特定成分を表現するために使用する言語に影響します。

locale は以下のいずれかです。

  • 'system'。システムのロケールを使用します。

  • xx_YY の形式の文字ベクトル。xx は ISO 639-1 で定義された小文字 2 文字の言語コードで、YY は ISO 3166-1 alpha-2 で定義された大文字の国コードです。

locale 入力引数は、関数 datetime の名前と値のペアの引数 'Locale' が受け入れる任意の値にすることができます。

例: 'en_US'

例: 'ja_JP'

出力引数

すべて展開する

出力配列。string 配列として返されます。

MATLAB® は、UTF-16 エンコードを使用してすべての文字を Unicode 文字として格納します。Unicode の詳細については、Unicode を参照してください。

すべて折りたたむ

string 内の一意の単語を検索するには、string を空白文字で分割して、関数 unique を呼び出します。

まず、string スカラーを作成します。

str = "A horse! A horse! My kingdom for a horse!"
str = 
"A horse! A horse! My kingdom for a horse!"

感嘆符を削除します。

str = erase(str,"!")
str = 
"A horse A horse My kingdom for a horse"

str 内のすべての文字を小文字に変換します。

str = lower(str)
str = 
"a horse a horse my kingdom for a horse"

関数 split を使用して、str を空白文字で分割します。split は空白文字を破棄し、結果を string 配列として返します。

str = split(str)
str = 9x1 string array
    "a"
    "horse"
    "a"
    "horse"
    "my"
    "kingdom"
    "for"
    "a"
    "horse"

関数 unique を使用して str 内の一意の単語を検索します。

str = unique(str)
str = 5x1 string array
    "a"
    "for"
    "horse"
    "kingdom"
    "my"

A = 'Four score and seven years ago'
A = 
'Four score and seven years ago'
str = string(A)
str = 
"Four score and seven years ago"

str には A と同じ文字が含まれます。ただし、A は文字ベクトルですが、str は string スカラーです。

c = size(A)
c = 1×2

     1    30

s = size(str)
s = 1×2

     1     1

str 内の文字数を返すには、関数 strlength を使用します。

n = strlength(str)
n = 30

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

A = {'Mercury','Gemini','Apollo';...
     'Skylab','Skylab B','ISS'}
A = 2x3 cell array
    {'Mercury'}    {'Gemini'  }    {'Apollo'}
    {'Skylab' }    {'Skylab B'}    {'ISS'   }

str = string(A)
str = 2x3 string array
    "Mercury"    "Gemini"      "Apollo"
    "Skylab"     "Skylab B"    "ISS"   

str の最初の行の 2 番目の要素にアクセスするには、小かっこを使用してインデックス付けをします。数値配列の要素にアクセスする場合と同様に、行列のインデックスを使用して string 配列の文字列にアクセスできます。

str(1,2)
ans = 
"Gemini"

3 列目にアクセスします。

str(:,3)
ans = 2x1 string array
    "Apollo"
    "ISS"

A = [77 65 84 76 65 66]
A = 1×6

    77    65    84    76    65    66

str = string(A)
str = 1x6 string array
    "77"    "65"    "84"    "76"    "65"    "66"

str は string 配列で、その各要素は A からの数値を表します。string は、関数 char が行うように数値を ASCII または Unicode® 値として扱わないことに注意してください。

各要素が数値を表す string 配列を作成します。string 配列を数値配列に変換するには、関数 double を使用します。

str = ["256","3.1416","8.9e-3"]
str = 1x3 string array
    "256"    "3.1416"    "8.9e-3"

X = double(str)
X = 1×3

  256.0000    3.1416    0.0089

入力引数が string 配列の場合、関数 double は各要素を浮動小数点値の表現として扱います。ただし、入力が文字配列の場合、double は代わりに各文字をその Unicode® 値を表す数値に変換します。

代替方法として、関数 str2double を使用します。入力引数が string 配列、文字ベクトル、または文字ベクトルの cell 配列の場合、str2double が適しています。

Y = str2double(str)
Y = 1×3

  256.0000    3.1416    0.0089

C = '2.7183';
Z = str2double(C)
Z = 2.7183

duration 配列を作成します。

D = hours(23:25) + minutes(8) + seconds(1.2345)
D = 1x3 duration array
   23.134 hr   24.134 hr   25.134 hr

D を string 配列に変換します。

str = string(D)
str = 1x3 string array
    "23.134 hr"    "24.134 hr"    "25.134 hr"

str は要素ごとに 1 つの duration 値がある string 配列です。strD と同じサイズです。

str の duration 値の形式を指定します。

str = string(D,'hh:mm')
str = 1x3 string array
    "23:08"    "24:08"    "25:08"

ヒント

  • string 配列内にテキストを作成および操作する関数の一覧については、文字と文字列を参照してください。

  • 入力引数がオブジェクトである場合、そのオブジェクトを string として表す string メソッドを実装するクラスに属していなければなりません。

拡張機能

R2016b で導入