SequenceReplace[list,rules]
指定された規則または規則のリストに従って list の列を置換する.
SequenceReplace[list,rules,n]
最初の n 個の置換だけを行う.
SequenceReplace[rules]
式に適用可能なSequenceReplaceの演算子形を表す.
SequenceReplace
SequenceReplace[list,rules]
指定された規則または規則のリストに従って list の列を置換する.
SequenceReplace[list,rules,n]
最初の n 個の置換だけを行う.
SequenceReplace[rules]
式に適用可能なSequenceReplaceの演算子形を表す.
詳細
- SequenceReplace[list,pattrhs]の patt は,PatternSequence,Repeated (..),Blank (_),BlankSequence (__)等のパターン構造を含む,頭部がListの式でよい.
- パターン patt は,リストにマッチするがそれ自体は頭部Listを持たないパターンでもよい.
- SequenceReplaceは,連続する各要素の位置から始まる列をテストしてリストを調べる.各列について指定された各変換規則を順に試す.規則の中で適用可能なものがあれば列を置換し,その列の末尾の要素の次の位置からさらにリストを調べ続ける.
- SequenceReplace[rules][list]はSequenceReplace[list,rules]に等しい.
例題
すべて開く すべて閉じる例 (4)
SequenceReplace[{a, b, x, x, a, c}, {a, e_} :> e]SequenceReplace[{a, b, x, x, a, c}, {{a, e_} :> e, {x} -> y}]SequenceReplace[{a, b, x, x, a, c}, {{a, e_} :> e, {x} -> y}, 2]SequenceReplaceの演算子形を使う:
SequenceReplace[{a, e_} :> e][{a, b, x, x, a, c}]スコープ (4)
SequenceReplace[{1, 2, 3, 4, 5}, {_ ? EvenQ} -> 0]SequenceReplace[{1, 2, 3, 4, 5}, {{_ ? EvenQ} -> 0, {_ ? OddQ} -> 1}]SequenceReplace[{"a", "b", "a", "b", "a", "b"}, {"a", "b"} -> 1, 2]すべての規則のうち.最初から3番目までにマッチしたものを置換する:
SequenceReplace[{"a", "b", "x", "a", "b", "x"}, {{"a", "b"} -> 1, {"x"} -> "y"}, 3]アプリケーション (4)
SequenceReplace[{a, b, c}, {x_} :> {x, x, x}]SequenceReplace[{1, a, "x", 2, b, "y"}, {_Symbol, _String} -> Nothing]SequenceReplace[{1, 2, 3, 4, 5, 6}, {x_, y_} :> Sequence[y, x]]SequenceReplace[{a, a, a, b, b, a, a, c, c, c, c}, {Repeated[a_, Infinity]} :> a]特性と関係 (6)
SequenceReplace[{1, 2, 3, 4}, {2, 3} -> {a, b}]Listの代りにSequenceを使って,要素をもとのリストに接合する:
SequenceReplace[{1, 2, 3, 4}, {2, 3} -> Sequence[a, b]]SequenceReplace[Range[5], {{_ ? PrimeQ} -> "Prime", {_ ? EvenQ} -> "Even"}]SequenceReplace[Range[5], {{_ ? EvenQ} -> "Even", {_ ? PrimeQ} -> "Prime"}]この,長さ3の列をマッチさせるこの置換は,長さ6のリストには2回しか使えない:
SequenceReplace[{1, 2, 3, 4, 5, 6}, {x_, y_, z_} :> y]SequenceReplace[{a, b, 1, 2, c, d, 3, 4}, {__Symbol} -> "X"]SequencePosition[{a, b, 1, 2, c, d, 3, 4}, {__Symbol}, Overlaps -> False]SequenceCases[{a, b, 1, 2, c, d, 3, 4}, {__Symbol}, Overlaps -> False]SequenceCount[{a, b, 1, 2, c, d, 3, 4}, {__Symbol}, Overlaps -> False]文字のリストの場合は,SequenceReplaceはStringReplaceに似ている:
text = "On 31/12/2003 we left, and on 5/3/2004 we came back.";StringJoin[SequenceReplace[Characters[text], {"w", "e"} -> "they"]]StringReplace[text, "we" -> "they"]SubsetReplaceは列の要素を任意の順序でマッチする:
SubsetReplace[{1, a, 2, 3, a, b, c}, {a, x_Integer} :> f[x]]SequenceReplaceは列を指定された順序のみでマッチする:
SequenceReplace[{1, a, 2, 3, a, b, c}, {a, x_Integer} :> f[x]]関連するガイド
テキスト
Wolfram Research (2018), SequenceReplace, Wolfram言語関数, https://reference.wolfram.com/language/ref/SequenceReplace.html.
CMS
Wolfram Language. 2018. "SequenceReplace." Wolfram Language & System Documentation Center. Wolfram Research. https://reference.wolfram.com/language/ref/SequenceReplace.html.
APA
Wolfram Language. (2018). SequenceReplace. Wolfram Language & System Documentation Center. Retrieved from https://reference.wolfram.com/language/ref/SequenceReplace.html
BibTeX
@misc{reference.wolfram_2026_sequencereplace, author="Wolfram Research", title="{SequenceReplace}", year="2018", howpublished="\url{https://reference.wolfram.com/language/ref/SequenceReplace.html}", note=[Accessed: 01-November-2026]}
BibLaTeX
@online{reference.wolfram_2026_sequencereplace, organization={Wolfram Research}, title={SequenceReplace}, year={2018}, url={https://reference.wolfram.com/language/ref/SequenceReplace.html}, note=[Accessed: 01-November-2026]}