Main Content

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

replace

1 つ以上の部分文字列の検索および置換

説明

newStr = replace(str,old,new) は、部分文字列 old をすべて new に置き換えます。old に複数の部分文字列が含まれる場合、newold と同じサイズであるか、1 つの部分文字列でなければなりません。

すべて折りたたむ

ファイル名のリスト内のプレースホルダー テキストを置き換えます。

R2017a 以降、二重引用符を使用して string を作成できるようになりました。

str = ["<ROOT_DIR>\MyData\data.tar.gz";
       "<ROOT_DIR>\MyScripts\cleandata.m";
       "<ROOT_DIR>\MyScripts\preprocess.m";
       "<ROOT_DIR>\MyScripts\publishResults.m"]
str = 4x1 string
    "<ROOT_DIR>\MyData\data.tar.gz"
    "<ROOT_DIR>\MyScripts\cleandata.m"
    "<ROOT_DIR>\MyScripts\preprocess.m"
    "<ROOT_DIR>\MyScripts\publishResults.m"

R2016b を使用している場合は、二重引用符の代わりに関数stringを使用して string 配列を作成します。

<ROOT_DIR> をファイル パス名を示す string に置き換えます。

old = "<ROOT_DIR>";
new = "C:\MyProject";
newStr = replace(str,old,new)
newStr = 4x1 string
    "C:\MyProject\MyData\data.tar.gz"
    "C:\MyProject\MyScripts\cleandata.m"
    "C:\MyProject\MyScripts\preprocess.m"
    "C:\MyProject\MyScripts\publishResults.m"

"R2020b 以降"

電話番号を含む string を作成します。

str = "Hide the numbers in: (508) 555-1234"
str = 
"Hide the numbers in: (508) 555-1234"

関数 digitsPattern を使用して 1 桁が一致するパターンを作成します。

pat = digitsPattern(1)
pat = pattern
  Matching:

    digitsPattern(1)

すべての桁を "#" 文字に置き換えます。

newStr = replace(str,pat,"#")
newStr = 
"Hide the numbers in: (###) ###-####"

電話番号のみと一致する別のパターンを作成します。

pat = "(" + digitsPattern(3) + ") " + digitsPattern(3)  + "-" + digitsPattern(4)
pat = pattern
  Matching:

    "(" + digitsPattern(3) + ") " + digitsPattern(3) + "-" + digitsPattern(4)

別の数字も含む文字列内の電話番号を置き換えます。

str = "12 calls made to: (508) 555-1234";
newStr = replace(str,pat,"(###) ###-####")
newStr = 
"12 calls made to: (###) ###-####"

pattern オブジェクトを作成する関数の一覧については、patternを参照してください。

キャリッジ リターンを改行文字に置き換えます。

R2017a 以降、二重引用符を使用して string を作成できるようになりました。

str = ["Submission Date: 11/29/15\r";
       "Acceptance Date: 1/20/16\r";
       "Contact: john.smith@example.com\r\n"]
str = 3x1 string
    "Submission Date: 11/29/15\r"
    "Acceptance Date: 1/20/16\r"
    "Contact: john.smith@example.com\r\n"

キャリッジ リターンを置き換えます。

old = {'\r\n','\r'};
new = '\n';
newStr = replace(str,old,new)
newStr = 3x1 string
    "Submission Date: 11/29/15\n"
    "Acceptance Date: 1/20/16\n"
    "Contact: john.smith@example.com\n"

入力引数

すべて折りたたむ

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

置き換える部分文字列。次のいずれかとして指定します。

  • string 配列

  • 文字ベクトル

  • 文字ベクトルの cell 配列

  • pattern 配列 "(R2020b 以降)"

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

ヒント

  • 重複するパターンの複数の置換を実行するには、関数 strrep を使用します。

拡張機能

R2016b で導入