@@ -3601,6 +3601,58 @@ splitOnSuffixSeq withSep patArr (Fold fstep initial _ final) (Stream step state)
36013601--
36023602-- >>> splitEndBySeq pat f = Stream.foldMany (Fold.takeEndBySeq pat f)
36033603--
3604+ -- Usage:
3605+ --
3606+ -- >>> splitOnSuffix p xs = Stream.fold Fold.toList $ Stream.splitEndBySeq (Array.fromList p) Fold.toList (Stream.fromList xs)
3607+ --
3608+ -- >>> splitOnSuffix "" ""
3609+ -- []
3610+ --
3611+ -- >>> splitOnSuffix "." ""
3612+ -- []
3613+ --
3614+ -- >>> splitOnSuffix ".." ""
3615+ -- []
3616+ --
3617+ -- >>> splitOnSuffix "..." ""
3618+ -- []
3619+ --
3620+ -- >>> splitOnSuffix "" "a...b"
3621+ -- ["a",".",".",".","b"]
3622+ --
3623+ -- >>> splitOnSuffix "." "a...b"
3624+ -- ["a.",".",".","b"]
3625+ --
3626+ -- >>> splitOnSuffix ".." "a...b"
3627+ -- ["a..",".b"]
3628+ --
3629+ -- >>> splitOnSuffix "..." "a...b"
3630+ -- ["a...","b"]
3631+ --
3632+ -- >>> splitOnSuffix "." "abc"
3633+ -- ["abc"]
3634+ --
3635+ -- >>> splitOnSuffix ".." "abc"
3636+ -- ["abc"]
3637+ --
3638+ -- >>> splitOnSuffix "..." "abc"
3639+ -- ["abc"]
3640+ --
3641+ -- >>> splitOnSuffix "." "."
3642+ -- ["."]
3643+ --
3644+ -- >>> splitOnSuffix ".." ".."
3645+ -- [".."]
3646+ --
3647+ -- >>> splitOnSuffix "..." "..."
3648+ -- ["..."]
3649+ --
3650+ -- >>> splitOnSuffix "." ".a"
3651+ -- [".","a"]
3652+ --
3653+ -- >>> splitOnSuffix "." "a."
3654+ -- ["a."]
3655+ --
36043656-- Uses Rabin-Karp algorithm for substring search.
36053657--
36063658{-# INLINE_NORMAL splitEndBySeq #-}
@@ -3618,6 +3670,58 @@ splitEndBySeq = splitOnSuffixSeq True
36183670--
36193671-- >>> splitEndBySeq_ pat f = Stream.foldMany (Fold.takeEndBySeq_ pat f)
36203672--
3673+ -- Usage:
3674+ --
3675+ -- >>> splitOnSuffix p xs = Stream.fold Fold.toList $ Stream.splitEndBySeq_ (Array.fromList p) Fold.toList (Stream.fromList xs)
3676+ --
3677+ -- >>> splitOnSuffix "" ""
3678+ -- []
3679+ --
3680+ -- >>> splitOnSuffix "." ""
3681+ -- []
3682+ --
3683+ -- >>> splitOnSuffix ".." ""
3684+ -- []
3685+ --
3686+ -- >>> splitOnSuffix "..." ""
3687+ -- []
3688+ --
3689+ -- >>> splitOnSuffix "" "a...b"
3690+ -- ["a",".",".",".","b"]
3691+ --
3692+ -- >>> splitOnSuffix "." "a...b"
3693+ -- ["a","","","b"]
3694+ --
3695+ -- >>> splitOnSuffix ".." "a...b"
3696+ -- ["a",".b"]
3697+ --
3698+ -- >>> splitOnSuffix "..." "a...b"
3699+ -- ["a","b"]
3700+ --
3701+ -- >>> splitOnSuffix "." "abc"
3702+ -- ["abc"]
3703+ --
3704+ -- >>> splitOnSuffix ".." "abc"
3705+ -- ["abc"]
3706+ --
3707+ -- >>> splitOnSuffix "..." "abc"
3708+ -- ["abc"]
3709+ --
3710+ -- >>> splitOnSuffix "." "."
3711+ -- [""]
3712+ --
3713+ -- >>> splitOnSuffix ".." ".."
3714+ -- [""]
3715+ --
3716+ -- >>> splitOnSuffix "..." "..."
3717+ -- [""]
3718+ --
3719+ -- >>> splitOnSuffix "." ".a"
3720+ -- ["","a"]
3721+ --
3722+ -- >>> splitOnSuffix "." "a."
3723+ -- ["a"]
3724+ --
36213725-- Uses Rabin-Karp algorithm for substring search.
36223726--
36233727{-# INLINE_NORMAL splitEndBySeq_ #-}
0 commit comments