StringCases

StringCases["string",patt]

文字列式のパターン patt にマッチする"string"中の部分文字列のリストを与える.

StringCases["string",lhsrhs]

文字列式 lhs にマッチする部分文字列に対応する rhs の値のリストを与える.

StringCases["string",p,n]

マッチするもののうち,最初の n 個の部分文字列のみを含む.

StringCases["string",{p1,p2,}]

任意の piにマッチする部分文字列を与える.

StringCases[{s1,s2,},p]

siの結果のリストを与える.

StringCases[patt]

式に適用可能なStringCasesの演算子形を表す.

詳細とオプション

  • 文字列式はStringExpressionの注釈で指定された任意のオブジェクトを含むことができる.
  • デフォルトのオプション設定Overlaps->Falseでは,StringCasesは重複しない部分文字列のみを含む.Overlaps->Trueとすると重複する部分文字列も含むようになる.
  • Overlaps->Allとすると,同一の文字列式にマッチする複数の部分文字列がすべて含まれる.Overlaps->Trueとすると,任意の位置で最初にマッチする部分文字列のみが含まれる.
  • オプション設定をIgnoreCase->Trueとすると,StringCasesは大文字と小文字の区別をしない.
  • StringCases["string",RegularExpression["regex"]]は,指定された正規表現にマッチする部分文字列を返す.
  • StringCases[s,lhs:>rhs]は,パターンが見付かったときにのみ rhs を評価する.
  • StringCases[patt][expr]StringCases[expr, patt]に等しい.
  • StringCases[BioSequence["type","seq"],patt,]は文字列"seq"の中の patt の例を求め,生体分子配列のリストを返す.この場合は,patt の中の縮重記号が,生体分子配列のタイプに基づいてワイルドカードパターンとして解釈される.Verbatim["patt"]を使って縮重記号を文字通りマッチする.
  • BioSequenceについてのドキュメントには各生体分子配列タイプについてサポートされている縮重記号がリストされている.
  • StringCasesが操作した生体分子配列が環状の場合は,ラップアラウンドマッチが可能である.

予備知識

例題

すべて開くすべて閉じる

  (3)

パターンにマッチする部分文字列を求める:

各部分文字列の名前の付いたワイルドカード文字だけを返す:

StringCasesの演算子形を使う:

スコープ  (11)

文字列パターンを使う:

正規表現を使う:

日付にパターンマッチを使う:

混合された正規表現と文字列パターン:

マッチする部分文字列に対応する値を抽出する規則:

マッチする最初の2つの文字列のみを含むようにする:

いずれかの部分文字列での出現:

StringCasesは自動的にリストや文字列に縫い込まれる:

DNA配列の中のコドン長の部分配列を求める:

与えられた生体分子配列内で見付かったパターンでワイルドカードを使う:

"Y"は縮重記号で,生体分子配列内以外ではワイルドカードではない:

追加的なラップアラウンドマッチを使えば,循環的な生体分子配列が求まるかもしれない:

Verbatimを使って文字通りの縮重記号だけをマッチする:

オプション  (3)

IgnoreCase  (1)

大文字を使った場合を含む部分文字列「cat」をすべて求める:

Overlaps  (2)

文字「a」で始まる2文字以上のすべての文字の連なりを求める:

部分文字列間の重複を許す:

同じ文字(列)で始まる複数の部分文字列も許す:

環状DNA配列の部分列を求める:

部分列間のオーバーラップを許容する:

アプリケーション  (3)

テキストから電話番号を抽出する:

アメリカ合衆国憲法のセクション番号の数列を求める:

合衆国憲法修正条項の番号を求める:

すべての桁の数字が連続している素数:

特性と関係  (2)

StringCountはマッチする部分文字列の数を返す:

マッチする部分文字列の長さ:

StringPositionを使ってマッチする部分文字列の位置を求める:

検証する:

考えられる問題  (1)

規則の右辺が文字列操作を含んでいる場合は,->ではなく:>を使う:

上記のような場合に->を使うと即時に評価がなされエラーメッセージが出力されることがある:

おもしろい例題  (1)

合衆国憲法中の文字列を求める:

総単語数を求める:

異なる語の総数(重複するものを除く)を求める:

単語の対数的度数分布を求める:

最頻単語10個:

Wolfram Research (2004), StringCases, Wolfram言語関数, https://reference.wolfram.com/language/ref/StringCases.html (2020年に更新).

テキスト

Wolfram Research (2004), StringCases, Wolfram言語関数, https://reference.wolfram.com/language/ref/StringCases.html (2020年に更新).

CMS

Wolfram Language. 2004. "StringCases." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/StringCases.html.

APA

Wolfram Language. (2004). StringCases. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/StringCases.html

BibTeX

@misc{reference.wolfram_2024_stringcases, author="Wolfram Research", title="{StringCases}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/StringCases.html}", note=[Accessed: 17-November-2024 ]}

BibLaTeX

@online{reference.wolfram_2024_stringcases, organization={Wolfram Research}, title={StringCases}, year={2020}, url={https://reference.wolfram.com/language/ref/StringCases.html}, note=[Accessed: 17-November-2024 ]}