StringSplit["string"]
"string"を空白文字のところで分割して部分文字列のリストにする.
StringSplit["string",patt]
文字列を文字列式 patt にマッチするデリミタで区切って部分文字列に分割する.
StringSplit["string",{p1,p2,…}]
任意の piのところで分割する.
StringSplit["string",pattval]
各デリミタの位置に val を挿入する.
StringSplit["string",{p1v1,…}]
各デリミタ piの位置に viを挿入する.
StringSplit["string",patt,n]
最高で n 個の部分文字列に分割する.
StringSplit[{s1,s2,…},p]
各 siの結果のリストを与える.
StringSplit
StringSplit["string"]
"string"を空白文字のところで分割して部分文字列のリストにする.
StringSplit["string",patt]
文字列を文字列式 patt にマッチするデリミタで区切って部分文字列に分割する.
StringSplit["string",{p1,p2,…}]
任意の piのところで分割する.
StringSplit["string",pattval]
各デリミタの位置に val を挿入する.
StringSplit["string",{p1v1,…}]
各デリミタ piの位置に viを挿入する.
StringSplit["string",patt,n]
最高で n 個の部分文字列に分割する.
StringSplit[{s1,s2,…},p]
各 siの結果のリストを与える.
詳細とオプション
- StringSplit[s]は,これが返す文字列を区切る空白文字を返さない.
- 空白文字は,任意の数のスペース,タブ,新規行を含む.
- 文字列式 patt はStringExpressionの注釈で指定された任意のオブジェクトを含むことができる.
- StringSplit[s]はStringSplit[s,Whitespace]と等価である.
- s に隣り合った2つのデリミタがある場合,StringSplitは両者の間に長さが零の部分文字列""があるとみなす.
- StringSplit[s,patt]はデフォルトにより,patt で定義されたデリミタの間にある s の部分文字列のリストを与える.デリミタ自体は含まない.
- StringSplit[s,patt->val]は各デリミタの位置の val を含む.
- StringSplit[s,patt:>val]は,パターンが見付かった場合にのみ val を評価する.
- StringSplit["string",{p1->v1,…,pa,…}]は,p1にマッチするデリミタの位置の v1を含むが,paとマッチするデリミタは省略する.
- デフォルトで,StringSplit[s,patt]は s の始まりまたは終りにあるデリミタと関連した長さが零の部分文字列を省略する.
- StringSplit[s,patt,All]は,始まりあるいは終りの長さが零のものを含むすべての部分文字列を返す.
- StringSplitは次のオプションを取る.
-
IgnoreCase False 大文字小文字を区別するマッチをオフにするかどうか - IgnoreCase->Trueというオプション設定をすると,StringSplitは大文字小文字の区別をしない.
- StringSplit["string",RegularExpression["regex"]]は,指定された正規表現にマッチする区切りのところで分割する.
- StringSplit[BioSequence["type","seq"],patt,…]は,配列"seq"を patt で分割して生体分子配列のリストを返す.この場合,patt の縮重記号は生体分子配列のタイプに基づいてワイルドカードパターンとして解釈される.Verbatim["patt"]を使って縮重記号を文字通りマッチすることができる.
- BioSequenceのドキュメントには,各生体分子配列タイプについてサポートされる縮重記号がリストされている.
例題
すべて開く すべて閉じる例 (2)
スコープ (11)
StringSplit["the cat in the hat"]StringSplit["192.168.0.1", "."]StringSplit["123 2.3 4 6", WhitespaceCharacter..]StringSplit["11a22b3", _ ? LetterQ]StringSplit["A tree, an apple, four pears. And more: two sacks", RegularExpression["\\W+"]]StringSplit["primes: 2 two 3 three 5 five ...", Whitespace ~~ RegularExpression["\\d"] ~~ Whitespace]StringSplit["a-b:c-d:e-f-g", {":", "-"}]StringSplit["a-b:c-d:e-f-g", ":" | "-"]StringSplit["a b::c d::e f g", "::" -> "--"]StringSplit["a--b c--d e", x : "--" :> x]StringSplitは自動的に文字列のリストに縫い込まれる:
StringSplit[{"a:b:c:d", "listable:element"}, ":"]StringSplit[BioSequence["DNA", "GATGGCAAGGCAG"], "GGC"]StringSplit[BioSequence["DNA", "GATGGCAAGGNAG"], "GGN"]StringSplit["GATGGCAAGGNAG", "GGN"]Verbatimを使って文字通りの縮重記号のところだけで分割する:
StringSplit[BioSequence["DNA", "GATGGCAAGGNAG"], "GG" ~~ Verbatim["N"]]一般化と拡張 (1)
オプション (1)
アプリケーション (4)
StringSplitを2回適用してネストした配列を作る:
StringSplit[StringSplit["11:12:13//21:22:23//31:32:33", "//"], ":"]SeedRandom[1234];
dna = StringJoin[RandomChoice[{"a", "c", "g", "t"}, 500]];StringSplit[dna, x : ("a" ~~ y_ ~~ _ ~~ y_ ~~ "a") :> Style[x, FontColor -> Red]] //Rowtext = Import["ExampleData/USConstitution.txt"];StringSplitを使い「power」をデリミタとしてテキストを最高で10の部分文字列に分割する:
a = StringSplit[text, "power", 10];Apply[Row[{"…", StringTake[#1, -Min[15, StringLength[#1]]], Style["power", Blue], StringTake[#2, Min[15, StringLength[#2]]], "…"}]&, Partition[a, 2, 1], {1}]//Columnディレクトリおよびサブディレクトリ中のファイルの拡張子を列挙する:
SetDirectory[$InstallationDirectory];files = FileNames["@.*", {"*"}, Infinity];Union[Last[StringSplit[#, "."]] & /@ files]特性と関係 (4)
空白文字のところでの分割は空白文字が存在しない文字列に等しい:
StringSplit["a bbb cccc aa d"]StringCases["a bbb cccc aa d", Except[WhitespaceCharacter]..]規則を持ったStringSplitはStringReplaceに等しい:
StringJoin[StringSplit["ab::c::d::ef", "::" -> "X"]]StringReplace["ab::c::d::ef", "::" -> "X"]StringSplit["abcdefg", ""]Characters["abcdefg"]StringSplitをCSV形式の文字列に使用する:
StringSplit[StringSplit["123, 2.3, 45.
345, 1.4, 450", "
"], ","]//ToExpression多くの場合,ImportとImportStringが直接機能を提供する:
ImportString["123, 2.3, 45.
345, 1.4, 450", "CSV"]考えられる問題 (1)
StringSplitは,デフォルトでは空白文字でしか分割しない:
StringSplit["This is a sentence--which goes on."]StringSplit["This is a sentence, which goes on.", Except[WordCharacter]..]StringCases["This is a sentence, which goes on.", WordCharacter..]テクニカルノート
-
▪
- 文字列の操作 ▪
- 特殊文字 ▪
- 文字列パターン ▪
- 文字列パターンの操作
履歴
2004 で導入 (5.1) | 2020 で更新 (12.2)
テキスト
Wolfram Research (2004), StringSplit, Wolfram言語関数, https://reference.wolfram.com/language/ref/StringSplit.html (2020年に更新).
CMS
Wolfram Language. 2004. "StringSplit." Wolfram Language & System Documentation Center. Wolfram Research. Last Modified 2020. https://reference.wolfram.com/language/ref/StringSplit.html.
APA
Wolfram Language. (2004). StringSplit. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/StringSplit.html
BibTeX
@misc{reference.wolfram_2026_stringsplit, author="Wolfram Research", title="{StringSplit}", year="2020", howpublished="\url{https://reference.wolfram.com/language/ref/StringSplit.html}", note=[Accessed: 02-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_stringsplit, organization={Wolfram Research}, title={StringSplit}, year={2020}, url={https://reference.wolfram.com/language/ref/StringSplit.html}, note=[Accessed: 02-November-2026]}