Main Content

このページの内容は最新ではありません。最新版の英語を参照するには、ここをクリックします。

strrep

部分文字列の検索と置換

説明

newStr = strrep(str,old,new) は、str 内で出現するすべての oldnew に置き換えます。

いずれかの入力引数が非スカラーの string 配列または文字ベクトルの cell 配列である場合、その他の入力引数のサイズに互換性がなければなりません。

すべて折りたたむ

文字ベクトルを作成し、その中の部分文字列を置き換えます。

chr = 'The quick brown fox'
chr = 
'The quick brown fox'
newChr = strrep(chr,'quick','sly')
newChr = 
'The sly brown fox'

string 配列を作成します。

str = ["the quick brown fox";
       "and the lazy dog"]
str = 2x1 string
    "the quick brown fox"
    "and the lazy dog"

配列の各要素の部分文字列を置き換えます。

newStr = strrep(str,'the','a')
newStr = 2x1 string
    "a quick brown fox"
    "and a lazy dog"

cell 配列のプレースホルダーの内容 '___' を、2 番目の cell 配列にある別の値に置き換えます。

C1 = {'Date Received: ___';
      'Date Accepted: ___'};
old = '___';
new = {'2016-09-06';
       '2016-10-11'};
C2 = strrep(C1,old,new)
C2 = 2x1 cell
    {'Date Received: 2016-09-06'}
    {'Date Accepted: 2016-10-11'}

繰り返され、オーバーラップするパターンをもつ文字ベクトルを作成します。関数 strrepreplaceregexprep を使用してパターンを置き換えた結果を比較します。

repeats = 'abc 2 def 22 ghi 222 jkl 2222'
repeats = 
'abc 2 def 22 ghi 222 jkl 2222'

関数 strfind を使用して、繰り返しパターン '22' のインデックスを検索します。strfind は、オーバーラップするインスタンスを含め、パターンのすべてのインスタンスを検索します。

indices = strfind(repeats, '22')
indices = 1×6

    11    18    19    26    27    28

strrep を使用して '22' を置き換えます。strrep を使用すると、strfind で確認されたインスタンスがすべて置き換えられます。

using_strrep = strrep(repeats, '22', '*')
using_strrep = 
'abc 2 def * ghi ** jkl ***'

replace を使用して '22' を置き換えます。この方法では、strrep で置き換えられるインスタンスがすべて置き換えられるわけではありません。

using_replace = replace(repeats, '22', '*')
using_replace = 
'abc 2 def * ghi *2 jkl **'

regexprep を使用して '22' を置き換えます。この結果は、関数 replace を使用した場合と同じです。

using_regexprep = regexprep(repeats, '22', '*')
using_regexprep = 
'abc 2 def * ghi *2 jkl **'

strrep は、インスタンスを置き換える前に、パターンのすべてのインスタンスを検出します。一方、関数 replace および関数 regexprep は、テキスト内でパターンのインスタンスを検出した時点でただちにそれを置き換えます。

入力引数

すべて折りたたむ

入力テキスト。string 配列、文字ベクトルまたは文字ベクトルの cell 配列として指定します。

データ型: string | char | cell

置き換える部分文字列。string 配列、文字ベクトルまたは文字ベクトルの cell 配列として指定します。

データ型: string | char | cell

新しい部分文字列。string 配列、文字ベクトルまたは文字ベクトルの cell 配列として指定します。

データ型: string | char | cell

アルゴリズム

  • 関数 strrep は、空の文字ベクトルまたは空の string の検索と置換は行いません。つまり、strold の両方に空の文字ベクトル ('') または空の string ("") が含まれる場合、strrep は空の文字ベクトルまたは string を new の内容で置換しません。

  • 関数 strfind と同様、strrep はテキストを置き換える前に、str にある old のインスタンスをすべて検出します。重複するパターンについては、strrep は複数の置き換えを実行します。

拡張機能

バージョン履歴

R2006a より前に導入