@@ -868,6 +868,9 @@ class StringSplit(Builtin):
868868 <dd>splits $s$ at the delimiter $d$.
869869 <dt>'StringSplit[$s$, {"$d1$", "$d2$", ...}]'
870870 <dd>splits $s$ using multiple delimiters.
871+ <dt>'StringSplit[{$s_1$, $s_2, ...}, {"$d1$", "$d2$", ...}]'
872+ <dd>returns a list with the result of applying the function to
873+ each element.
871874 </dl>
872875
873876 >> StringSplit["abc,123", ","]
@@ -885,6 +888,9 @@ class StringSplit(Builtin):
885888 >> StringSplit["a b c", RegularExpression[" +"]]
886889 = {a, b, c}
887890
891+ >> StringSplit[{"a b", "c d"}, RegularExpression[" +"]]
892+ = {{a, b}, {c, d}}
893+
888894 #> StringSplit["x", "x"]
889895 = {}
890896
@@ -921,6 +927,11 @@ class StringSplit(Builtin):
921927
922928 def apply (self , string , patt , evaluation , options ):
923929 "StringSplit[string_, patt_, OptionsPattern[%(name)s]]"
930+
931+ if string .get_head_name () == "System`List" :
932+ leaves = [self .apply (s , patt , evaluation , options ) for s in string ._leaves ]
933+ return Expression ("List" , * leaves )
934+
924935 py_string = string .get_string_value ()
925936
926937 if py_string is None :
0 commit comments