extractBefore
指定した位置の前にある部分文字列を抽出
説明
例
部分文字列の前のテキストを選択
string 配列を作成し、部分文字列の前に出現するテキストを選択します。
str = "The quick brown fox"
str = "The quick brown fox"
部分文字列 " brown"
の前に出現する部分文字列を抽出します。関数 extractBefore
はテキストを選択し、出力には " brown"
を含めません。
newStr = extractBefore(str," brown")
newStr = "The quick"
string 配列の要素から新しい string 配列を作成します。異なる部分文字列を位置として指定する場合、その部分文字列は、str
と同じサイズの string 配列または cell 配列に含まれていなければなりません。
str = ["The quick brown fox jumps";"over the lazy dog"]
str = 2x1 string
"The quick brown fox jumps"
"over the lazy dog"
newStr = extractBefore(str,[" brown";" dog"])
newStr = 2x1 string
"The quick"
"over the lazy"
また、入力 string 配列のすべての要素に適用する位置として、1 つの部分文字列を指定することもできます。
パターンを使用してファイル名の前のパスを抽出する
絶対パスを含むファイル名の string 配列を作成します。
str = ["C:\Temp\MyReport.docx"; "C:\Data\Experiment1\Trial1\Sample1.csv"; "C:\Temp\Slides.pptx"]
str = 3x1 string
"C:\Temp\MyReport.docx"
"C:\Data\Experiment1\Trial1\Sample1.csv"
"C:\Temp\Slides.pptx"
パスを抽出するには、最初にパスの最後のファイル名と一致するパターンを作成してから、そのパターンの前にあるパスを抽出します。
絶対パスには、それぞれ "\"
文字が続く任意のテキストで構成された、複数のレベルが含まれる場合があります。したがって、"\"
文字を除く任意の文字と一致するパターンを作成することから始めます。
name = wildcardPattern("Except","\")
name = pattern
Matching:
wildcardPattern("Except","\")
次に、"\"
文字と string の末尾との間にある任意の名前と一致するパターンを作成します。関数 textBoundary
を使用して string の末尾と一致させます。
pat = "\" + name + textBoundary
pat = pattern
Matching:
"\" + wildcardPattern("Except","\") + textBoundary
最後に、extractBefore
を呼び出します。
paths = extractBefore(str,pat)
paths = 3x1 string
"C:\Temp"
"C:\Data\Experiment1\Trial1"
"C:\Temp"
pattern オブジェクトを作成する関数の一覧については、pattern
を参照してください。
位置の前の部分文字列を選択
指定した位置の前の string を作成します。
str = "Edgar Allen Poe"
str = "Edgar Allen Poe"
6 番目の文字の前の部分文字列を選択します。
newStr = extractBefore(str,6)
newStr = "Edgar"
string 配列の各要素から部分文字列を選択します。数値配列を使用して異なる位置を指定する場合、数値配列は入力 string 配列と同じサイズでなければなりません。
str = ["Edgar Allen Poe";"Louisa May Alcott"]
str = 2x1 string
"Edgar Allen Poe"
"Louisa May Alcott"
newStr = extractBefore(str,[6;7])
newStr = 2x1 string
"Edgar"
"Louisa"
各要素から部分文字列を選択し、同じ位置を指定します。
newStr = extractBefore(str,12)
newStr = 2x1 string
"Edgar Allen"
"Louisa May "
文字ベクトル内の位置の前のテキストを選択
文字ベクトルを作成します。次に、chr
の部分文字列である新しい文字ベクトルを作成します。
chr = 'peppers and onions'
chr = 'peppers and onions'
8 番目の位置の前の部分文字列を選択します。
newChr = extractBefore(chr,8)
newChr = 'peppers'
部分文字列の前のテキストを選択します。
newChr = extractBefore(chr,' and')
newChr = 'peppers'
入力引数
str
— 入力テキスト
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列
入力テキスト。string 配列、文字ベクトルまたは文字ベクトルの cell 配列として指定します。
pat
— 終了位置をマークするテキストまたはパターン
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列 | pattern
配列
抽出されたテキストの終了位置をマークする str
内のテキストまたはパターン。次のいずれかとして指定します。
string 配列
文字ベクトル
文字ベクトルの cell 配列
pattern
配列
関数 extractBefore
は抽出された部分文字列から pat
を除外します。
str
が string 配列または文字ベクトルの cell 配列の場合、str
のすべての要素から部分文字列を抽出できます。すべての部分文字列の終了位置が同じであるか、あるいは str
の要素ごとに終了位置が異なるかを指定できます。
同じ終了位置を指定するには、
pat
を文字ベクトル、string スカラー、またはpattern
オブジェクトとして指定します。異なる終了位置を指定するには、
pat
を string 配列、文字ベクトルの cell 配列、またはpattern
配列として指定します。
pos
— 終了位置
数値配列
終了位置。数値配列として指定します。
str
が string 配列または文字ベクトルの cell 配列の場合、pos
は数値スカラーまたは str
と同じサイズの数値配列にすることができます。
出力引数
newStr
— 出力テキスト
string 配列 | 文字ベクトル | 文字ベクトルの cell 配列
出力テキスト。string 配列、文字ベクトルまたは文字ベクトルの cell 配列として返されます。
拡張機能
tall 配列
メモリの許容量を超えるような多数の行を含む配列を計算します。
C/C++ コード生成
MATLAB® Coder™ を使用して C および C++ コードを生成します。
使用上の注意事項および制限事項:
str
とpat
は、string スカラー、文字ベクトル、または 1 つ以下の文字ベクトルを含む cell 配列でなければなりません。
スレッドベースの環境
MATLAB® の backgroundPool
を使用してバックグラウンドでコードを実行するか、Parallel Computing Toolbox™ の ThreadPool
を使用してコードを高速化します。
この関数はスレッドベースの環境を完全にサポートしています。詳細については、スレッドベースの環境での MATLAB 関数の実行を参照してください。
分散配列
Parallel Computing Toolbox™ を使用して、クラスターの結合メモリ上で大きなアレイを分割します。
使用上の注意事項および制限事項:
pat
は string 配列、文字ベクトル、または文字ベクトルの cell 配列でなければなりません。
詳細については、分散配列を使用した MATLAB 関数の実行 (Parallel Computing Toolbox)を参照してください。
バージョン履歴
R2016b で導入
参考
split
| join
| erase
| extract
| extractAfter
| extractBetween
| insertAfter
| insertBefore
| replace
| strlength
| count
| pattern
| wildcardPattern
| textBoundary
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)