你好,
我想为split(str, splitter; limit=0, keep=true)
函数提出一个功能请求,我现在正在一个新分支中处理它。
我发现自己试图以这种方式使用该功能,而我所期望的是以下内容,
julia> split("abcabcdabbcd", "b"; keep_splitter = true)
3-element Array{SubString{String},1}:
"a"
"bca"
"bcda"
"b"
"bcd"
我应该继续工作吗? 对于生态系统的其他部分来说,这会是一个重大的变化吗?
一些想法:
keep_spliter
标志是true
,那么keep
(代表空结果)是true
还是false
应该没有任何区别readlines(file)
工作方式,不是吗? 在数组的每个元素中,最后都有'\n'
。julia> split("abcabcdabbcd", "b"; keep_splitter = true, prepend = false)
3-element Array{SubString{String},1}:
"ab"
"cab"
"cdab"
"b"
"cd"
提前致谢!
PS,也许可以用我还不知道的另一个功能来完成
与可能的splitlines
函数(https://github.com/JuliaLang/julia/pull/20390)相关,以及与readline
/ eachline
的新chomp
参数相关eachline
(https://github.com/JuliaLang/julia/pull/19944,https://github.com/JuliaLang/julia/pull/19944)。
抄送: @mpastell
请注意,查看当前keep
关键字的另一种方式,它的真正作用是说您的拆分器可以重复 1 次或多次,即隐式地将其包装在(...)+
作为正则表达式。
尝试拆分驼峰式字符串时也会出现这种情况:
foo = "ThisShouldBeSeparate"
split(foo, isuppercase)
5-element Array{SubString{String},1}:
""
"his"
"hould"
"e"
"eparate"
一个解决方案是使用正则表达式分隔符: split(foo, r"(?=[A-Z])")
但这远不那么直观(如果没有外部帮助,我不会解决它)。
最有用的评论
尝试拆分驼峰式字符串时也会出现这种情况:
一个解决方案是使用正则表达式分隔符:
split(foo, r"(?=[A-Z])")
但这远不那么直观(如果没有外部帮助,我不会解决它)。