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が操作した生体分子配列が環状の場合は,ラップアラウンドマッチが可能である.
予備知識
- StringCases["string",{patt1,…,pattk}]は,要素がパターン pattjのいずれかにマッチする"string"の部分文字列であるリストを返す.代替形式のStringCases["string",patt]はStringCases["string",{patt}]に等しく,StringCases["string",lhsrhs]は lhs にマッチする"string"の部分文字列に対応する rhs の値のリストを与え,StringCases["string",patt,n]はマッチする部分文字列のうちの最初の n 個のみを含み,StringCases["string",RegularExpression["regex"]]は指定された正規表現 regex にマッチする部分文字列を与え,StringCases[patt]["string"]は string に適用されたStringCasesの演算子形を表す.StringCasesは自動的にリストに縫い込まれる.StringCases[{"string1",…,"stringn"},…]は各"stringj"についての結果のリストを返す.
- 文字列パターン pattjは,AnyOrder,FixedOrder,Condition,Whitespace,NumberString,DatePattern等の,任意の有効なStringExpressionオブジェクトを含むことがある.
- StringCasesのデフォルト動作は,具体的には,大文字小文字を区別し,重複する部分文字列を省略するもので,StringCases[…,IgnoreCase→False,Overlaps→False]に等しい.しかし,オプションIgnoreCase→Trueを指定するとStringCasesは大文字小文字を同じものとして扱うようになる.Overlapsオプションには可能な設定が多数ある.Overlaps->Allとすると同じ文字式にマッチする複数の部分文字列がすべて返される.Overlaps->Trueとすると指定された位置でマッチする最初の部分文字列だけが返される.
- StringCasesは他の多くのシンボルと関連がある.StringCountは指定された文字列の中で特定のパターンにマッチする部分文字列の数を,StringPositionは特定の位置にマッチするそれを与える.StringCount["string",patt]とStringTake["string",StringPosition["string",patt]]は,それぞれLength[StringCases["string",patt]]とStringCases["string",patt]に等しい.StringContainsQとStringFreeQは,前者が与えられた文字列に特定のパターンにマッチする部分文字列が含まれているかどうかを,後者が含まれていないかどうかを判定する.具体的には,StringContainsQ["string",patt]は,StringCases["string",patt]が空リスト{}を返しStringFreeQ["string",patt]がTrueを返すときかつそのときに限りFalseを返す.StringCasesは,質的に類似した関数のTextCasesおよびCasesのString版であり,TextWords,StringReplace,StringReplaceList,StringReplacePartにも関連がある.
例題
すべて開くすべて閉じる例 (3)
スコープ (11)
StringCasesは自動的にリストや文字列に縫い込まれる:
与えられた生体分子配列内で見付かったパターンでワイルドカードを使う:
"Y"は縮重記号で,生体分子配列内以外ではワイルドカードではない:
追加的なラップアラウンドマッチを使えば,循環的な生体分子配列が求まるかもしれない:
Verbatimを使って文字通りの縮重記号だけをマッチする:
オプション (3)
特性と関係 (2)
テキスト
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