ドキュメンテーション センター

  • 評価版
  • 製品アップデート

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

検索および置換

MATLAB® では、文字列内の文字を検索および置換する関数がいくつか提供されています (MATLAB では正規表現を使用した検索と置換もサポートされています。「正規表現」を参照してください)。

label という文字列について考えます。

label = 'Sample 1, 10/28/95';

関数 strrep で、標準の検索および置換演算を行います。たとえば、strrep を使用して、日付を '10/28' から '10/30' に変更します。

newlabel = strrep(label, '28', '30')
newlabel =
   Sample 1, 10/30/95

strfind では、長い文字列内の部分文字列の開始位置が返されます。label 内にあるすべての 'amp' 文字列を検索する場合は、次を使用します。

position = strfind(label, 'amp')
position =
    2

'amp'label 内で 1 回だけ出現する開始位置は、2 番目の文字です。

関数 textscan は、文字列を解析して、数値または部分文字列を識別します。変換指定子を使用して文字列の各コンポーネントを記述します。たとえば、文字列には %s、整数には %d、浮動小数点数値には %f を使用します。オプションで、無視するリテラル テキストを含めることもできます。

たとえば、サンプルの数値および日付文字列を label から識別します。

parts = textscan(label, 'Sample %d, %s');
parts{:}

ans =
           1
ans = 
    '10/28/95'

セル配列の文字列を解析するには、関数 strtok を使用します。以下に例を示します。

c = {'all in good time'; ...
     'my dog has fleas'; ...
     'leave no stone unturned'};
first_words = strtok(c)
この情報は役に立ちましたか?