How to set up patterns when using SequenceSplit
$begingroup$
Given a list
lst={0,0,0,0,0,"A1",0,0,0,"B2",0,0,"C3","D4","E5",0,0,0,"F6"}
How to split it as
{{0,0,0,0,0},{"A1",0,0,0},{"B2",0,0},{"C3"},{"D4"},{"E5",0,0,0},{"F6"}}
I want to use SequenceSplit
but didn't know how to set up the right pattern
.
SequenceSplit[lst, {_String} -> {}]
Thanks!
list-manipulation sequence
$endgroup$
add a comment |
$begingroup$
Given a list
lst={0,0,0,0,0,"A1",0,0,0,"B2",0,0,"C3","D4","E5",0,0,0,"F6"}
How to split it as
{{0,0,0,0,0},{"A1",0,0,0},{"B2",0,0},{"C3"},{"D4"},{"E5",0,0,0},{"F6"}}
I want to use SequenceSplit
but didn't know how to set up the right pattern
.
SequenceSplit[lst, {_String} -> {}]
Thanks!
list-manipulation sequence
$endgroup$
add a comment |
$begingroup$
Given a list
lst={0,0,0,0,0,"A1",0,0,0,"B2",0,0,"C3","D4","E5",0,0,0,"F6"}
How to split it as
{{0,0,0,0,0},{"A1",0,0,0},{"B2",0,0},{"C3"},{"D4"},{"E5",0,0,0},{"F6"}}
I want to use SequenceSplit
but didn't know how to set up the right pattern
.
SequenceSplit[lst, {_String} -> {}]
Thanks!
list-manipulation sequence
$endgroup$
Given a list
lst={0,0,0,0,0,"A1",0,0,0,"B2",0,0,"C3","D4","E5",0,0,0,"F6"}
How to split it as
{{0,0,0,0,0},{"A1",0,0,0},{"B2",0,0},{"C3"},{"D4"},{"E5",0,0,0},{"F6"}}
I want to use SequenceSplit
but didn't know how to set up the right pattern
.
SequenceSplit[lst, {_String} -> {}]
Thanks!
list-manipulation sequence
list-manipulation sequence
edited Jan 13 at 3:59
Jerry
asked Jan 13 at 2:46
JerryJerry
1,380212
1,380212
add a comment |
add a comment |
1 Answer
1
active
oldest
votes
$begingroup$
Split[lst, Not @ StringQ @ #2 &]
{{0, 0, 0, 0, 0}, {"A1", 0, 0, 0}, {"B2", 0,
0}, {"C3"}, {"D4"}, {"E5", 0, 0, 0}, {"F6"}}
SequenceSplit[lst, {s_String, a : Except[_String] ...} :> {s, a}]
{{0, 0, 0, 0, 0}, {"A1", 0, 0, 0}, {"B2", 0,
0}, {"C3"}, {"D4"}, {"E5", 0, 0, 0}, {"F6"}}
$endgroup$
$begingroup$
Very nice,Thanks! what do#1
and#2
mean inSplit
function?
$endgroup$
– Jerry
Jan 13 at 3:49
2
$begingroup$
@Jerry see Working with Pure Functions andSlot
$endgroup$
– Mr.Wizard♦
Jan 13 at 3:56
$begingroup$
kglr, do you have something against!
? :^)
$endgroup$
– Mr.Wizard♦
Jan 13 at 3:57
$begingroup$
@Mr.Wizard, thank you.
$endgroup$
– kglr
Jan 13 at 4:01
2
$begingroup$
@Jerry, in a test function used as the second argument ofSplit
,#1
refers to the first element of a consecutive pair and#2
to the second, See also animation - Split which illustrates how it works for the default test functionSameQ
.
$endgroup$
– kglr
Jan 13 at 4:04
|
show 3 more comments
Your Answer
StackExchange.ifUsing("editor", function () {
return StackExchange.using("mathjaxEditing", function () {
StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix) {
StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["$", "$"], ["\\(","\\)"]]);
});
});
}, "mathjax-editing");
StackExchange.ready(function() {
var channelOptions = {
tags: "".split(" "),
id: "387"
};
initTagRenderer("".split(" "), "".split(" "), channelOptions);
StackExchange.using("externalEditor", function() {
// Have to fire editor after snippets, if snippets enabled
if (StackExchange.settings.snippets.snippetsEnabled) {
StackExchange.using("snippets", function() {
createEditor();
});
}
else {
createEditor();
}
});
function createEditor() {
StackExchange.prepareEditor({
heartbeatType: 'answer',
autoActivateHeartbeat: false,
convertImagesToLinks: false,
noModals: true,
showLowRepImageUploadWarning: true,
reputationToPostImages: null,
bindNavPrevention: true,
postfix: "",
imageUploader: {
brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
allowUrls: true
},
onDemand: true,
discardSelector: ".discard-answer"
,immediatelyShowMarkdownHelp:true
});
}
});
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f189384%2fhow-to-set-up-patterns-when-using-sequencesplit%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
1 Answer
1
active
oldest
votes
1 Answer
1
active
oldest
votes
active
oldest
votes
active
oldest
votes
$begingroup$
Split[lst, Not @ StringQ @ #2 &]
{{0, 0, 0, 0, 0}, {"A1", 0, 0, 0}, {"B2", 0,
0}, {"C3"}, {"D4"}, {"E5", 0, 0, 0}, {"F6"}}
SequenceSplit[lst, {s_String, a : Except[_String] ...} :> {s, a}]
{{0, 0, 0, 0, 0}, {"A1", 0, 0, 0}, {"B2", 0,
0}, {"C3"}, {"D4"}, {"E5", 0, 0, 0}, {"F6"}}
$endgroup$
$begingroup$
Very nice,Thanks! what do#1
and#2
mean inSplit
function?
$endgroup$
– Jerry
Jan 13 at 3:49
2
$begingroup$
@Jerry see Working with Pure Functions andSlot
$endgroup$
– Mr.Wizard♦
Jan 13 at 3:56
$begingroup$
kglr, do you have something against!
? :^)
$endgroup$
– Mr.Wizard♦
Jan 13 at 3:57
$begingroup$
@Mr.Wizard, thank you.
$endgroup$
– kglr
Jan 13 at 4:01
2
$begingroup$
@Jerry, in a test function used as the second argument ofSplit
,#1
refers to the first element of a consecutive pair and#2
to the second, See also animation - Split which illustrates how it works for the default test functionSameQ
.
$endgroup$
– kglr
Jan 13 at 4:04
|
show 3 more comments
$begingroup$
Split[lst, Not @ StringQ @ #2 &]
{{0, 0, 0, 0, 0}, {"A1", 0, 0, 0}, {"B2", 0,
0}, {"C3"}, {"D4"}, {"E5", 0, 0, 0}, {"F6"}}
SequenceSplit[lst, {s_String, a : Except[_String] ...} :> {s, a}]
{{0, 0, 0, 0, 0}, {"A1", 0, 0, 0}, {"B2", 0,
0}, {"C3"}, {"D4"}, {"E5", 0, 0, 0}, {"F6"}}
$endgroup$
$begingroup$
Very nice,Thanks! what do#1
and#2
mean inSplit
function?
$endgroup$
– Jerry
Jan 13 at 3:49
2
$begingroup$
@Jerry see Working with Pure Functions andSlot
$endgroup$
– Mr.Wizard♦
Jan 13 at 3:56
$begingroup$
kglr, do you have something against!
? :^)
$endgroup$
– Mr.Wizard♦
Jan 13 at 3:57
$begingroup$
@Mr.Wizard, thank you.
$endgroup$
– kglr
Jan 13 at 4:01
2
$begingroup$
@Jerry, in a test function used as the second argument ofSplit
,#1
refers to the first element of a consecutive pair and#2
to the second, See also animation - Split which illustrates how it works for the default test functionSameQ
.
$endgroup$
– kglr
Jan 13 at 4:04
|
show 3 more comments
$begingroup$
Split[lst, Not @ StringQ @ #2 &]
{{0, 0, 0, 0, 0}, {"A1", 0, 0, 0}, {"B2", 0,
0}, {"C3"}, {"D4"}, {"E5", 0, 0, 0}, {"F6"}}
SequenceSplit[lst, {s_String, a : Except[_String] ...} :> {s, a}]
{{0, 0, 0, 0, 0}, {"A1", 0, 0, 0}, {"B2", 0,
0}, {"C3"}, {"D4"}, {"E5", 0, 0, 0}, {"F6"}}
$endgroup$
Split[lst, Not @ StringQ @ #2 &]
{{0, 0, 0, 0, 0}, {"A1", 0, 0, 0}, {"B2", 0,
0}, {"C3"}, {"D4"}, {"E5", 0, 0, 0}, {"F6"}}
SequenceSplit[lst, {s_String, a : Except[_String] ...} :> {s, a}]
{{0, 0, 0, 0, 0}, {"A1", 0, 0, 0}, {"B2", 0,
0}, {"C3"}, {"D4"}, {"E5", 0, 0, 0}, {"F6"}}
edited Jan 13 at 20:25
answered Jan 13 at 3:32
kglrkglr
181k10200413
181k10200413
$begingroup$
Very nice,Thanks! what do#1
and#2
mean inSplit
function?
$endgroup$
– Jerry
Jan 13 at 3:49
2
$begingroup$
@Jerry see Working with Pure Functions andSlot
$endgroup$
– Mr.Wizard♦
Jan 13 at 3:56
$begingroup$
kglr, do you have something against!
? :^)
$endgroup$
– Mr.Wizard♦
Jan 13 at 3:57
$begingroup$
@Mr.Wizard, thank you.
$endgroup$
– kglr
Jan 13 at 4:01
2
$begingroup$
@Jerry, in a test function used as the second argument ofSplit
,#1
refers to the first element of a consecutive pair and#2
to the second, See also animation - Split which illustrates how it works for the default test functionSameQ
.
$endgroup$
– kglr
Jan 13 at 4:04
|
show 3 more comments
$begingroup$
Very nice,Thanks! what do#1
and#2
mean inSplit
function?
$endgroup$
– Jerry
Jan 13 at 3:49
2
$begingroup$
@Jerry see Working with Pure Functions andSlot
$endgroup$
– Mr.Wizard♦
Jan 13 at 3:56
$begingroup$
kglr, do you have something against!
? :^)
$endgroup$
– Mr.Wizard♦
Jan 13 at 3:57
$begingroup$
@Mr.Wizard, thank you.
$endgroup$
– kglr
Jan 13 at 4:01
2
$begingroup$
@Jerry, in a test function used as the second argument ofSplit
,#1
refers to the first element of a consecutive pair and#2
to the second, See also animation - Split which illustrates how it works for the default test functionSameQ
.
$endgroup$
– kglr
Jan 13 at 4:04
$begingroup$
Very nice,Thanks! what do
#1
and #2
mean in Split
function?$endgroup$
– Jerry
Jan 13 at 3:49
$begingroup$
Very nice,Thanks! what do
#1
and #2
mean in Split
function?$endgroup$
– Jerry
Jan 13 at 3:49
2
2
$begingroup$
@Jerry see Working with Pure Functions and
Slot
$endgroup$
– Mr.Wizard♦
Jan 13 at 3:56
$begingroup$
@Jerry see Working with Pure Functions and
Slot
$endgroup$
– Mr.Wizard♦
Jan 13 at 3:56
$begingroup$
kglr, do you have something against
!
? :^)$endgroup$
– Mr.Wizard♦
Jan 13 at 3:57
$begingroup$
kglr, do you have something against
!
? :^)$endgroup$
– Mr.Wizard♦
Jan 13 at 3:57
$begingroup$
@Mr.Wizard, thank you.
$endgroup$
– kglr
Jan 13 at 4:01
$begingroup$
@Mr.Wizard, thank you.
$endgroup$
– kglr
Jan 13 at 4:01
2
2
$begingroup$
@Jerry, in a test function used as the second argument of
Split
, #1
refers to the first element of a consecutive pair and #2
to the second, See also animation - Split which illustrates how it works for the default test function SameQ
.$endgroup$
– kglr
Jan 13 at 4:04
$begingroup$
@Jerry, in a test function used as the second argument of
Split
, #1
refers to the first element of a consecutive pair and #2
to the second, See also animation - Split which illustrates how it works for the default test function SameQ
.$endgroup$
– kglr
Jan 13 at 4:04
|
show 3 more comments
Thanks for contributing an answer to Mathematica Stack Exchange!
- Please be sure to answer the question. Provide details and share your research!
But avoid …
- Asking for help, clarification, or responding to other answers.
- Making statements based on opinion; back them up with references or personal experience.
Use MathJax to format equations. MathJax reference.
To learn more, see our tips on writing great answers.
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
StackExchange.ready(
function () {
StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2fmathematica.stackexchange.com%2fquestions%2f189384%2fhow-to-set-up-patterns-when-using-sequencesplit%23new-answer', 'question_page');
}
);
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Sign up or log in
StackExchange.ready(function () {
StackExchange.helpers.onClickDraftSave('#login-link');
});
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Sign up using Google
Sign up using Facebook
Sign up using Email and Password
Post as a guest
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown
Required, but never shown