Main Content

このページの翻訳は最新ではありません。ここをクリックして、英語の最新版を参照してください。

char

説明

数値配列が数字のシーケンスであるように、文字配列は文字のシーケンスです。一般的に、短いテキストを文字の行として "文字ベクトル" に格納するために使用されます。

作成

一重引用符を使用して文字ベクトルを作成できます。

C = 'Hello, world'
C =

    'Hello, world'

異なるデータ型の配列がある場合は、以下に説明する関数 char を使用して、その配列を文字配列に変換できます。

説明

C = char(A) は、入力配列 A を文字配列に変換します。たとえば、A が string "foo" の場合、c は文字配列 'foo' です。

C = char(A1,...,An) は、配列 A1,...,An を単一の文字配列に変換します。文字への変換後、入力配列が C の行になります。関数 char は、必要に応じて空白で行を埋めます。入力配列が空の文字配列の場合、C 内の対応する行は空白の行になります。

入力配列 A1,...,An を string 配列、cell 配列または categorical 配列にすることはできません。

A1,...,An のサイズと形状は揃っていなくてもかまいません。

c = char(A, dateFmt) で、Adatetime または duration 配列であり、"HH:mm:ss" などの指定された形式を適用します。さらに、"en_US" などのロケールを個別の入力として指定できます。

入力引数

すべて展開する

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

入力型

変換のメモ

サンプル入力

サンプル出力

string

入力配列内の各要素が、必要に応じて自動的に空白で埋められて、新規文字配列の 1 行になります。

A が空 ("") の場合、出力は "空の文字配列" (0 行 0 列の文字ベクトル) になります。

1×1 string array
    "foo"

1×3 char array
    'foo'
2×1 string array
    "foo"
    "bar"
2×3 char array
    'foo'
    'bar'

数値配列

char は数値を文字に変換します。有効な数値範囲は 0 ~ 65535 で、Unicode® のコード単位に対応します。0 ~ 127 の値は、7 ビットの ASCII 文字にも対応します。関数 char は、次のように動作します。

  • 非整数をゼロ方向に丸めます。

  • 0 未満の値は 0 として処理します。

  • 65535 を超える値は 65535 として処理します。

[102 111 111 33 ]

'foo!'

文字ベクトルの cell 配列

入力が文字ベクトルの cell 配列、または categorical 配列の場合、char は入力を文字配列に変換します。入力配列の各要素の各行が、必要に応じて自動的に空白で埋められて、新規文字配列の 1 行になります。

{'foo','bar'}

2×3 char array

    'foo'
    'bar'

categorical 配列

1x3 categorical array
    red    green    blue
3×5 char array

    'red  '
    'green'
    'blue '

datetime 配列

形式とロケールを指定するには、dateFmtを参照してください。

datetime(2020,6,1)

'01-Jun-2020'

NaNNaT および <undefined> categorical 値などの変換された欠損値は、<missing> として表示されます。

日付の形式およびロケール。個々の文字ベクトルまたは string スカラーとして指定します。A 入力の型は datetimeduration または calendarDuration でなければなりません。

形式を指定しない場合、char は、AFormat プロパティにある値を使用します。ロケールのみを指定するには、形式のプレースホルダーとして空の配列 ([]) を使用します。

例: char(A, "yyyy-MM-dd")

例: char(A, "yyyy-MM-dd","en_US")

例: char(A, [],"en_US")

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

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

  • duration の形式は、ydhms のいずれか 1 文字か、次のいずれかの組み合わせになります。

    • "dd:hh:mm:ss"

    • "hh:mm:ss"

    • "mm:ss"

    • "hh:mm"

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

  • calendarDuration の形式は、文字 yqmwdt"ym" のように大きい単位から小さい単位の順に組み合わせて指定できます。duration および calendarDuration の形式の詳細については、日付と時刻の表示形式の設定を参照してください。

ロケールは、月の名前などの日付と時刻の特定成分を表現するために使用する言語に影響します。有効な値は次のとおりです。

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

  • xx_YY の形式の文字ベクトル。xx は ISO 639-1 で定義された小文字 2 文字の言語コードで、YY は ISO 3166-1 alpha-2 で定義された大文字の国コードです。サンプル値については、関数 datetime の名前と値の引数 Localeを参照してください。

出力引数

すべて展開する

出力配列。文字配列として返されます。文字配列は任意のサイズをもつことができますが、最も一般的な使用例は、複数のテキストを複数の文字ベクトルとして格納することです。

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

すべて折りたたむ

数値配列を文字配列に変換します。

A = [77 65 84 76 65 66];
C = char(A)
C = 
'MATLAB'

32 ~ 127 の整数は表示可能な ASCII 文字に対応します。しかし、0 ~ 65535 の整数は Unicode® 文字にも対応します。関数 char を使用して、整数を対応する Unicode 表現に変換できます。

たとえば、数字 8451 は摂氏温度を示す記号に対応します。char を使用して 8451 を変換します。

C = char(8451)
C = 
'℃'

複数の配列を単一の文字配列に変換します。入力配列の形状は同じでなくてもかまいません。

A1 = [65 66; 67 68];
A2 = 'abcd';
C = char(A1,A2)
C = 3x4 char array
    'AB  '
    'CD  '
    'abcd'

入力配列の列数が同じでないため、charA1 の行を空白で埋めます。

whos C
  Name      Size            Bytes  Class    Attributes

  C         3x4                24  char               

string スカラーを作成します。R2017a 以降、二重引用符を使用して string スカラーを作成できるようになりました。また、MATLAB® は二重引用符付きで string を表示します。

A = "Pythagoras"
A = 
"Pythagoras"

関数 char を使用して A を文字ベクトルに変換します。MATLAB は一重引用符を付けて文字ベクトルを表示します。

C = char(A)
C = 
'Pythagoras'

duration 配列を char に変換します。一般的なデータ型から char への変換に関する詳細については、datetime 配列、数値およびテキストの間の変換を参照してください。

duration 配列を作成します。

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

D を文字配列に変換します。

C = char(D)
C = 3x9 char array
    '23.134 hr'
    '24.134 hr'
    '25.134 hr'

C は、各行が 1 つの duration 値を表す文字配列になります。

duration 値を C で表す形式を指定します。

C = char(D,'hh:mm')
C = 3x5 char array
    '23:08'
    '24:08'
    '25:08'

ヒント

  • char 配列を数値型に変換すると、対応する Unicode コード値の配列が生成されます。string 内のテキストはこのように変換されません。単一の数値を表さない string を double に変換すると、NaN の結果が生成されます。詳細については、Unicode と ASCII の値を参照してください。

拡張機能

R2006a より前に導入