extractBetween
開始点と終了点の間にある部分文字列を抽出
構文
説明
例
部分文字列の間のテキストを選択
string 配列を作成し、部分文字列の間に出現するテキストを選択します。
str = "The quick brown fox"
str = "The quick brown fox"
部分文字列 "quick "
と " fox"
の間に出現するテキストを選択します。関数 extractBetween
はテキストを選択しますが、出力に "quick "
や " fox"
は含めません。
newStr = extractBetween(str,"quick "," fox")
newStr = "brown"
string 配列の各要素から部分文字列を選択します。開始インジケーターと終了インジケーターとして異なる部分文字列を指定する場合、それらを含む string 配列または cell 配列は、str
と同じサイズでなければなりません。
str = ["The quick brown fox jumps";"over the lazy dog"]
str = 2x1 string
"The quick brown fox jumps"
"over the lazy dog"
newStr = extractBetween(str,["quick ";"the "],[" fox";" dog"])
newStr = 2x1 string
"brown"
"lazy"
パターンを使用してタグ間のテキストを抽出する
R2020b 以降
タグで囲まれたテキストの string 配列を作成します。
str = ["<courseName>Calculus I</courseName>"; "<semester>Fall 2020</semester>"; "<schedule>MWF 8:00-8:50</schedule>"]
str = 3x1 string
"<courseName>Calculus I</courseName>"
"<semester>Fall 2020</semester>"
"<schedule>MWF 8:00-8:50</schedule>"
タグで囲まれたテキストを抽出します。関数 wildcardPattern
を使用し、最初に任意の開始タグおよび終了タグと一致するパターンを作成します。
startPat = "<" + wildcardPattern + ">"
startPat = pattern
Matching:
"<" + wildcardPattern + ">"
endPat = "</" + wildcardPattern + ">"
endPat = pattern
Matching:
"</" + wildcardPattern + ">"
次に、関数 extractBetween
を呼び出します。
newStr = extractBetween(str,startPat,endPat)
newStr = 3x1 string
"Calculus I"
"Fall 2020"
"MWF 8:00-8:50"
pattern オブジェクトを作成する関数の一覧については、pattern
を参照してください。
開始位置と終了位置の間の部分文字列を選択
string 配列を作成し、数値として指定された開始位置と終了位置の間の部分文字列を選択します。
str = "Edgar Allen Poe"
str = "Edgar Allen Poe"
ミドル ネームを選択します。string 内の 7 番目と 11 番目の位置を指定します。
newStr = extractBetween(str,7,11)
newStr = "Allen"
string 配列の各要素から部分文字列を選択します。数値配列を使用して異なる開始位置と終了位置を指定する場合、数値配列は入力 string 配列と同じサイズでなければなりません。
str = ["Edgar Allen Poe";"Louisa May Alcott"]
str = 2x1 string
"Edgar Allen Poe"
"Louisa May Alcott"
newStr = extractBetween(str,[7;8],[11;10])
newStr = 2x1 string
"Allen"
"May"
境界を含めたまたは含めないテキストを選択
境界を含めるか除外するかを指定して、string 配列からテキストを選択します。境界を含める場合、extractBetween
は選択するテキストに境界を含めます。境界を除外する場合、extractBetween
は選択するテキストに境界を含めません。
str1 = "small|medium|large"
str1 = "small|medium|large"
6 番目と 13 番目の位置の間にあるテキストを選択しますが、それらの位置にある文字は含めません。
newStr = extractBetween(str1,6,13,'Boundaries','exclusive')
newStr = "medium"
2 つの部分文字列の間にあるテキストと、部分文字列自体も選択します。
str2 = "The quick brown fox jumps over the lazy dog"
str2 = "The quick brown fox jumps over the lazy dog"
newStr = extractBetween(str2," brown","jumps",'Boundaries','inclusive')
newStr = " brown fox jumps"
文字ベクトル内の位置の間にあるテキストを選択
文字ベクトルを作成し、開始位置と終了位置の間にあるテキストを選択します。
chr = 'mushrooms, peppers, and onions'
chr = 'mushrooms, peppers, and onions'
newChr = extractBetween(chr,12,18)
newChr = 1x1 cell array
{'peppers'}
部分文字列の間のテキストを選択します。
newChr = extractBetween(chr,'mushrooms, ',', and')
newChr = 1x1 cell array
{'peppers'}
入力引数
str
— 入力テキスト
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列
入力テキスト。string 配列、文字ベクトルまたは文字ベクトルの cell 配列として指定します。
startPat
— 開始位置をマークするテキストまたはパターン
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列 | pattern
配列 (R2020b 以降)
抽出するテキストの開始位置をマークするテキストまたはパターン。次のいずれかとして指定します。
string 配列
文字ベクトル
文字ベクトルの cell 配列
pattern
配列 "(R2020b 以降)"
str
が string 配列または文字ベクトルの cell 配列の場合、str
のすべての要素から部分文字列を抽出できます。すべての部分文字列の開始位置が同じであるか、あるいは str
の要素ごとに開始位置が異なるかを指定できます。
同じ開始位置を指定するには、
startPat
を文字ベクトル、string スカラー、またはpattern
オブジェクトとして指定します。異なる開始位置を指定するには、
startPat
を string 配列、文字ベクトルの cell 配列、またはpattern
配列として指定します。
例: extractBetween(str,"AB","YZ")
は、str
の各要素から AB
と YZ
の間の部分文字列を抽出します。
例: str
が 2
行 1
列の string 配列の場合、extractBetween(str,["AB";"FG"],["YZ";"ST"])
は、str(1)
内の AB
と YZ
の間の部分文字列、および str(2)
内の FG
と ST
の間の部分文字列を抽出します。
endPat
— 終了位置をマークするテキストまたはパターン
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列 | pattern
配列 (R2020b 以降)
抽出するテキストの終了位置をマークするテキストまたはパターン。次のいずれかとして指定します。
string 配列
文字ベクトル
文字ベクトルの cell 配列
pattern
配列 "(R2020b 以降)"
str
が string 配列または文字ベクトルの cell 配列の場合、str
のすべての要素から部分文字列を抽出できます。すべての部分文字列の終了位置が同じであるか、あるいは str
の要素ごとに終了位置が異なるかを指定できます。
同じ終了位置を指定するには、
endPat
を文字ベクトル、string スカラー、またはpattern
オブジェクトとして指定します。異なる終了位置を指定するには、
endPat
を string 配列、文字ベクトルの cell 配列、またはpattern
配列として指定します。
例: extractBetween(str,"AB","YZ")
は、str
の各要素から AB
と YZ
の間の部分文字列を抽出します。
例: str
が 2
行 1
列の string 配列の場合、extractBetween(str,["AB";"FG"],["YZ";"ST"])
は、str(1)
内の AB
と YZ
の間の部分文字列、および str(2)
内の FG
と ST
の間の部分文字列を抽出します。
startPos
— 開始位置
数値配列
開始位置。数値配列として指定します。
str
が複数のテキストを含む配列の場合、startPos
は、数値スカラーまたは str
と同じサイズの数値配列にすることができます。
例: extractBetween(str,5,9)
は、str
の各要素内で 5 番目から 9 番目の位置までの部分文字列を抽出します。
例: str
が 2
行 1
列の string 配列の場合、extractBetween(str,[5;10],[9;21])
は、str(1)
の 5 番目から 9 番目の位置までの部分文字列と、str(2)
の 10 番目から 21 番目の位置までの部分文字列を抽出します。
データ型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
endPos
— 終了位置
数値配列
終了位置。数値配列として指定します。
str
が複数のテキストを含む配列の場合、endPos
は、数値スカラーまたは str
と同じサイズの数値配列にすることができます。
例: extractBetween(str,5,9)
は、str
の各要素内で 5 番目から 9 番目の位置までの部分文字列を抽出します。
例: str
が 2
行 1
列の string 配列の場合、extractBetween(str,[5;10],[9;21])
は、str(1)
の 5 番目から 9 番目の位置までの部分文字列と、str(2)
の 10 番目から 21 番目の位置までの部分文字列を抽出します。
データ型: double
| single
| int8
| int16
| int32
| int64
| uint8
| uint16
| uint32
| uint64
bounds
— 境界の動作
'inclusive'
| 'exclusive'
境界の動作。'inclusive'
または 'exclusive'
として指定します。境界の動作が inclusive である場合、前の引数で指定した開始位置と終了位置は抽出対象のテキストに含まれます。境界の動作が exclusive である場合、開始位置と終了位置は含まれません。
出力引数
newStr
— 出力テキスト
string 配列 | 文字ベクトルの cell 配列
出力テキスト。string 配列または文字ベクトルの cell 配列として返されます。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
使用上の注意事項および制限事項:
startPat
およびendPat
は string 配列、文字ベクトル、または文字ベクトルの cell 配列でなければなりません。
詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2016b で導入
参考
split
| join
| erase
| eraseBetween
| extract
| extractBefore
| extractAfter
| insertAfter
| insertBefore
| replace
| replaceBetween
| strlength
| count
| pattern
| wildcardPattern
MATLAB コマンド
次の MATLAB コマンドに対応するリンクがクリックされました。
コマンドを MATLAB コマンド ウィンドウに入力して実行してください。Web ブラウザーは MATLAB コマンドをサポートしていません。
Select a Web Site
Choose a web site to get translated content where available and see local events and offers. Based on your location, we recommend that you select: .
You can also select a web site from the following list:
How to Get Best Site Performance
Select the China site (in Chinese or English) for best site performance. Other MathWorks country sites are not optimized for visits from your location.
Americas
- América Latina (Español)
- Canada (English)
- United States (English)
Europe
- 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)