Main Content

extract

string から部分文字列を抽出する

R2020b 以降

説明

newStr = extract(str,pat)pat で指定されたパターンと一致する str 内のすべての部分文字列を返します。

str が string 配列または文字ベクトルの cell 配列の場合、関数は str の各要素から部分文字列を抽出します。pat が配列の場合、関数は複数のパターンに一致させます。

newStr = extract(str,pos)str 内の pos で指定された位置の文字を返します。

すべて折りたたむ

住所を含む string 配列を作成します。各住所は米国の郵便番号で終了します。

str = ["73 Beacon St., Boston, MA, 02116";
       "1640 Riverside Dr., Hill Valley, CA, 92530";
       "138 Main St., Cambridge, MA, 02138"]
str = 3x1 string
    "73 Beacon St., Boston, MA, 02116"
    "1640 Riverside Dr., Hill Valley, CA, 92530"
    "138 Main St., Cambridge, MA, 02138"

任意の数字のシーケンスと一致するパターンを作成します。

pat = digitsPattern
pat = pattern
  Matching:

    digitsPattern

これを使用して住所から数字のすべてのシーケンスを抽出します。

newStr = extract(str,pat)
newStr = 3x2 string
    "73"      "02116"
    "1640"    "92530"
    "138"     "02138"

digitsPattern パターンは、番地、アパート部屋番号、郵便番号と一致します。郵便番号のみに一致させるには、住所の最後にある数字のシーケンスと一致するパターンを作成します。

pat = digitsPattern + textBoundary
pat = pattern
  Matching:

    digitsPattern + textBoundary

郵便番号を抽出します。

newStr = extract(str,pat)
newStr = 3x1 string
    "02116"
    "92530"
    "02138"

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

string を作成します。

str = "All's well that ends well"
str = 
"All's well that ends well"

string の最初の文字を抽出します。

extract(str,1)
ans = 
"A"

最後の文字を抽出します。

extract(str,strlength(str))
ans = 
"l"

入力引数

すべて折りたたむ

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

検索パターン。次のいずれかとして指定します。

  • string 配列

  • 文字ベクトル

  • 文字ベクトルの cell 配列

  • pattern 配列

位置。数値配列として指定します。

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

出力引数

すべて折りたたむ

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

str が string 配列の場合、newStr も string 配列です。それ以外の場合、newStr は文字ベクトルの cell 配列です。

バージョン履歴

R2020b で導入