このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。
string 配列および文字配列内のテキスト
MATLAB® にはテキストの表現方法が 2 つあります。"string 配列" にテキストを格納できます。また、どのバージョンの MATLAB でも文字配列にテキストを格納できます。一般に、文字配列はテキストを "文字ベクトル" として格納するのに使用されます。MATLAB では string は二重引用符で、文字ベクトルは一重引用符で囲んで表示されます。
string 配列を使用したテキストの表現
string
データ型を使用して、1 行 n
列の任意の文字のシーケンスを string として保存できます。string を作成するにはテキストを二重引用符で囲みます。
str = "Hello, world"
str = "Hello, world"
テキスト "Hello, world"
の長さは 12 文字ですが、str
自体は 1 行 1 列の string、つまり "string スカラー" です。string スカラーは、ファイル名、プロット ラベル、または他のテキスト形式の情報を指定するのに使用できます。
string 内の文字数を求めるには、関数 strlength
を使用します。
n = strlength(str)
n = 12
テキストに二重引用符が含まれている場合、定義内で 2 つの二重引用符を使用します。
str = "They said, ""Welcome!"" and waved."
str = "They said, "Welcome!" and waved."
string の末尾にテキストを追加するには、加算演算子 +
を使用します。変数を string に変換できる場合、plus
はそれを変換してから追加します。
fahrenheit = 71; celsius = (fahrenheit-32)/1.8; tempText = "temperature is " + celsius + "C"
tempText = "temperature is 21.6667C"
関数 append
を使用してテキストを連結することもできます。
tempText2 = append("Today's ",tempText)
tempText2 = "Today's temperature is 21.6667C"
関数 string
は、数値、datetime 値、duration 値、categorical 値など、異なる型の入力を変換できます。たとえば、pi
の出力を string に変換します。
ps = string(pi)
ps = "3.1416"
複数のテキストを 1 つの string 配列に格納できます。配列の各要素には、異なる数の文字をもつ string をパディングせずに格納できます。
str = ["Mercury","Gemini","Apollo";... "Skylab","Skylab B","ISS"]
str = 2x3 string
"Mercury" "Gemini" "Apollo"
"Skylab" "Skylab B" "ISS"
str
は 2 行 3 列の string 配列です。string の長さは、関数 strlength
を使用して求めることができます。
N = strlength(str)
N = 2×3
7 6 6
6 8 3
string 配列は MATLAB および MathWorks® 製品全体でサポートされています。文字配列 (および文字ベクトルの cell 配列) を入力として受け入れる関数は string 配列も受け入れます。
文字ベクトルを使用したテキストの表現
1 行 n
列の文字シーケンスを文字ベクトルとして保存するには、char
データ型を使用し、一重引用符で囲みます。
chr = 'Hello, world'
chr = 'Hello, world'
テキスト 'Hello, world'
の長さは 12 文字で、chr
はこれを 1 行 12 列の文字ベクトルとして格納します。
whos chr
Name Size Bytes Class Attributes chr 1x12 24 char
テキストに一重引用符が含まれている場合は、定義内で一重引用符を 2 つ使用します。
chr = 'They said, ''Welcome!'' and waved.'
chr = 'They said, 'Welcome!' and waved.'
文字ベクトルの主な用途は 2 つあります。
ファイル名やプロット ラベルなど、単一のテキストの指定。
文字を使用してエンコードされているデータの表現。このような場合、個々の文字へのアクセスしやすさが必要となることがあります。
たとえば、DNA 配列を文字ベクトルとして保存できます。
seq = 'GCTAGAATCC';
数値配列にインデックスを付ける場合と同様に、インデックスを付けることで個々の文字や文字のサブセットにアクセスできます。
seq(4:6)
ans = 'AGA'
他のタイプの配列を連結する場合と同様に、大かっこを使用して文字ベクトルを連結します。
seq2 = [seq 'ATTAGAAACC']
seq2 = 'GCTAGAATCCATTAGAAACC'
R2019a 以降は、append
を使用してテキストを連結することもできます。関数 append
は、string 配列、文字ベクトル、文字ベクトルの cell 配列を一貫して扱うので推奨されます。
seq2 = append(seq,'ATTAGAAACC')
seq2 = 'GCTAGAATCCATTAGAAACC'
string 配列を入力として受け入れる MATLAB 関数は、文字ベクトルと、文字ベクトルの cell 配列も受け入れます。
参考
string
| char
| cellstr
| strlength
| plus
| horzcat
| append