regexptranslate
テキストを正規表現に変換
説明
例
関数 regexptranslate を使用して、文字ベクトルの特殊文字を変換します。次に、regexp でその結果を正規表現として使用します。
'\n' 文字を含む文字ベクトルを作成します。 
chr = 'The sequence \n generates a new line.'chr = 'The sequence \n generates a new line.'
'\n' を '\' と 'n' の連続した 2 文字として検索する正規表現を作成します。関数 regexp は '\n' を改行文字として解釈するため、regexptranslate を使用して、'\n' をエスケープする正規表現を作成します。
pattern = regexptranslate('escape','\n')
pattern = '\\n'
chr で '\n' の開始インデックスを検索します。regexp が '\n' を改行として解釈しないようにするには、pattern を正規表現として使用します。
idx = regexp(chr,pattern)
idx = 14
'\n' をエスケープせずに regexp を呼び出します。regexp は '\n' を改行として解釈するため、chr のリテラル文字は検索されません。関数 regexp は、一致が見つからない場合は空の配列を返します。
idx = regexp(chr,'\n')idx =
     []
string を作成します。
str = "Put your money in."str = "Put your money in."
テキスト '$0.02' を、'money' という語と置き換えるテキストとして指定します。'$' 文字と '.' 文字をエスケープするには、regexptranslate を使用します。
r = regexptranslate('escape','$0.02')
r = '\$0\.02'
関数 regexprep を使用して 'money' を置き換えます。
newStr = regexprep(str,'money',r)newStr = "Put your $0.02 in."
ファイル名を含む string 配列を作成します。次に、'.mat' で終わるファイル名のみを検索します。
str = ["test1.mat","myfile.mat","my-matlab-script.m", ... "jan30.mat","table3.xls"]
str = 1×5 string
    "test1.mat"    "myfile.mat"    "my-matlab-script.m"    "jan30.mat"    "table3.xls"
string を正規表現と一致させるには、'*.mat' を正規表現として指定します。次に、関数 regexptranslate を使用してワイルドカード文字 '*' を変換します。
pattern = regexptranslate('wildcard','*.mat')
pattern = '.*\.mat'
pattern で指定した正規表現を使用して、str の一致する要素を検索します。
matches = regexp(str,pattern)
matches=1×5 cell array
    {[1]}    {[1]}    {0×0 double}    {[1]}    {0×0 double}
logical 配列 TF を作成します。str の対応する要素が pattern と一致する要素に 1 が格納されます。その後、TF を使用して str のインデックスを指定し、'.mat' で終了するファイル名を表示します。
tf = ~cellfun('isempty',matches);
newStr = str(tf)newStr = 1×3 string
    "test1.mat"    "myfile.mat"    "jan30.mat"
空白文字 (スペース文字や改行文字など) で区切られた単語を含む文字ベクトルを作成します。
chr = 'Whose woods these are I think I know.'; chr = [chr newline 'His house is in the village though']
chr = 
    'Whose woods these are I think I know.
     His house is in the village though'
空白文字と一致する正規表現として '\s' を指定します。その後、chr にあるこれらの文字を置き換えます。
expression = '\s'; newChr = regexptranslate('flexible',chr,expression)
newChr = 'Whose\swoods\sthese\sare\sI\sthink\sI\sknow.\sHis\shouse\sis\sin\sthe\svillage\sthough'
入力引数
変換のタイプ。文字ベクトルまたは string スカラーとして指定します。次の表のオプションを使用して、特殊文字やワイルドカード文字を変換したり、テキストを一致する正規表現に置き換えることができます。
| 変換のタイプ | 説明 | 
|---|---|
| 
 | 
 | 
| 
 | 
 | 
| 
 | 
 この構文は  | 
入力テキスト。文字ベクトル、文字ベクトルの cell 配列または string 配列として指定します。
バージョン履歴
R2006a より前に導入
MATLAB Command
You clicked a link that corresponds to this MATLAB command:
Run the command by entering it in the MATLAB Command Window. Web browsers do not support MATLAB commands.
Web サイトの選択
Web サイトを選択すると、翻訳されたコンテンツにアクセスし、地域のイベントやサービスを確認できます。現在の位置情報に基づき、次のサイトの選択を推奨します:
また、以下のリストから Web サイトを選択することもできます。
最適なサイトパフォーマンスの取得方法
中国のサイト (中国語または英語) を選択することで、最適なサイトパフォーマンスが得られます。その他の国の MathWorks のサイトは、お客様の地域からのアクセスが最適化されていません。
南北アメリカ
- América Latina (Español)
- Canada (English)
- United States (English)
ヨーロッパ
- Belgium (English)
- Denmark (English)
- Deutschland (Deutsch)
- España (Español)
- Finland (English)
- France (Français)
- Ireland (English)
- Italia (Italiano)
- Luxembourg (English)
- Netherlands (English)
- Norway (English)
- Österreich (Deutsch)
- Portugal (English)
- Sweden (English)
- Switzerland
- United Kingdom (English)