MATLAB で文字である文字を判別する
このチュートリアルでは、Matlab の isletter()
関数を使用してどの文字が文字であるかを判別する方法について説明します。
どの文字が文字で MATLAB の isletter()
関数を使用してあるかを確認する
文字列または文字の配列には文字を含めることができ、家の住所などの数字には数字だけでなく文字も含めることができます。指定された文字、文字配列、または文字列に文字が含まれているかどうかを確認する場合は、Matlab の組み込み関数 isletter()
を使用できます。
単一文字入力の場合、isletter()
関数は文字に応じて 1 または 0 を返します。文字が文字の場合、isletter()
関数は 1 または true を返し、文字が文字でない場合、isletter()
関数は 0 または false を返します。
たとえば、特定の文字が文字であるかどうかを確認してみましょう。以下のコードを参照してください。
c = '5';
isletter(c)
出力:
ans =
logical
0
出力では、結果は 0 です。これは、指定された文字が文字ではないことを意味します。
文字列または文字の配列に文字が含まれているかどうかを確認することもできます。文字列または文字配列内の文字が文字の場合、isletter()
関数はその場所に 1 を返し、他の場所に 0 を返します。
たとえば、数字だけでなく文字も含む文字列を作成し、文字列内に文字がいくつあるかを確認してみましょう。以下のコードを参照してください。
c = '25 street';
isletter(c)
出力:
ans =
1×9 logical array
0 0 0 1 1 1 1 1 1
出力では、最初の 3つの場所で出力が 0 であるため、最初の 3 文字は文字ではなく、残りの文字には 1 が含まれているため、残りの文字は文字であることがわかります。
スペースは、出力が表示される理由がスペースの場所に 0 を含む文字と見なされます。
入力は、スカラー、ベクトル、行列、または多次元配列にすることができます。出力は論理配列になります。
isnumeric()
関数を使用して、入力が数値であるかどうかを確認できます。isstring()
関数を使用して、入力が文字列であるかどうかを確認できます。
文字が含まれているかどうかを確認した後、入力文字列に対して操作を実行することもできます。
たとえば、文字列に存在する文字を抽出するとします。この場合、isletter()
関数を使用して、文字が文字列に存在するかどうかを確認できます。
文字列に文字が含まれている場合は、find()
関数を使用してそれらのインデックスを検索し、これらのインデックスを使用してそれらを抽出できます。以下のコードを参照してください。
OldString = '25 street'
l = isletter(OldString);
indices = find(l==1);
NewString = OldString(indices)
出力:
OldString =
'25 street'
NewString =
'street'
出力では、新しい文字列には文字のみが含まれます。