Main Content

extractAfter

指定した位置の後にある部分文字列を抽出

説明

newStr = extractAfter(str,pat) は、pat で指定された部分文字列の後から始まり、str の最後の文字で終わる部分文字列を抽出します。patstr 内で複数回出現する場合、newStrpat の最初の出現から str の最後までです。

str が string 配列または文字ベクトルの cell 配列の場合、extractAfterstr の各要素から部分文字列を抽出します。出力引数 newStr のデータ型は、str と同じです。

newStr = extractAfter(str,pos) は、pos で指定された位置の後から始まり、str の最後の文字で終わる部分文字列を抽出します。

すべて折りたたむ

string 配列を作成して、部分文字列の後に出現するテキストを選択します。

str = "The quick brown fox"
str = 
"The quick brown fox"

部分文字列 "quick " の後に出現する部分文字列を抽出します。関数 extractAfter は新しいテキストを選択し、出力には "quick " を含めません。

newStr = extractAfter(str,"quick ")
newStr = 
"brown fox"

string 配列の要素から新しい string 配列を作成します。異なる部分文字列を位置として指定する場合、その部分文字列は、入力 string 配列と同じサイズの 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 = extractAfter(str,["quick ";"the "])
newStr = 2x1 string
    "brown fox jumps"
    "lazy dog"

また、入力 string 配列のすべての要素に適用する位置として、1 つの部分文字列を指定することもできます。

R2020b 以降

絶対パスを含むファイル名の 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"

ファイル名を抽出するには、最初に絶対パスと一致するパターンを作成してから、そのパターンの後に続くものを抽出します。

絶対パスには、それぞれ "\" 文字が続く任意のテキストで構成された、複数のレベルが含まれる場合があります。したがって、1 つのレベルと一致するパターンを作成することから始めます。

level = wildcardPattern + "\"
level = pattern
  Matching:

    wildcardPattern + "\"

次に、任意の数のレベルが含まれる絶対パスと一致するパターンを作成します。

pat = asManyOfPattern(level)
pat = pattern
  Matching:

    asManyOfPattern(wildcardPattern + "\")

最後に、extractAfter を呼び出します。

filenames = extractAfter(str,pat)
filenames = 3x1 string
    "MyReport.docx"
    "Sample1.csv"
    "Slides.pptx"

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

指定した位置の後に string を作成します。

str = "Edgar Allen Poe"
str = 
"Edgar Allen Poe"

12 番目の文字の後の部分文字列を選択します。

newStr = extractAfter(str,12)
newStr = 
"Poe"

string 配列の各要素から部分文字列を選択します。数値配列を使用して異なる位置を指定する場合、数値配列は入力 string 配列と同じサイズでなければなりません。

str = ["Edgar Allen Poe";"Louisa May Alcott"]
str = 2x1 string
    "Edgar Allen Poe"
    "Louisa May Alcott"

newStr = extractAfter(str,[12;11])
newStr = 2x1 string
    "Poe"
    "Alcott"

各要素から部分文字列を選択し、同じ位置を指定します。

newStr = extractAfter(str,6)
newStr = 2x1 string
    "Allen Poe"
    " May Alcott"

文字ベクトルを作成します。次に、chr の部分文字列である新しい文字ベクトルを作成します。

chr = 'peppers and onions'
chr = 
'peppers and onions'

12 番目の位置の後のテキストを選択します。

newChr = extractAfter(chr,12)
newChr = 
'onions'

部分文字列の後のテキストを選択します。

newChr = extractAfter(chr,'and ')
newChr = 
'onions'

入力引数

すべて折りたたむ

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

抽出されたテキストの開始位置をマークする str 内のテキストまたはパターン。次のいずれかとして指定します。

  • string 配列

  • 文字ベクトル

  • 文字ベクトルの cell 配列

  • pattern 配列 "(R2020b 以降)"

関数 extractAfter は抽出された部分文字列から pat を除外します。

str が string 配列または文字ベクトルの cell 配列の場合、str のすべての要素から部分文字列を抽出できます。すべての部分文字列の開始位置が同じであるか、あるいは str の要素ごとに開始位置が異なるかを指定できます。

  • 同じ開始位置を指定するには、pat を文字ベクトル、string スカラー、または pattern オブジェクトとして指定します。

  • 異なる開始位置を指定するには、pat を string 配列、文字ベクトルの cell 配列、または pattern 配列として指定します。

開始位置。数値配列として指定します。extractAfter は抽出された部分文字列から pos にある文字を除外します。

str が string 配列または文字ベクトルの cell 配列の場合、pos は数値スカラーまたは str と同じサイズの数値配列にすることができます。

出力引数

すべて折りたたむ

出力テキスト。string 配列、文字ベクトルまたは文字ベクトルの cell 配列として返されます。

拡張機能

バージョン履歴

R2016b で導入