Bonjour,
Je voudrais suggérer une demande de fonctionnalité, sur laquelle je travaille maintenant dans une nouvelle branche, pour la fonction split(str, splitter; limit=0, keep=true)
.
Je me suis retrouvé à essayer d'utiliser la fonction de cette manière, et ce à quoi je m'attends en quelque sorte est ce qui suit,
julia> split("abcabcdabbcd", "b"; keep_splitter = true)
3-element Array{SubString{String},1}:
"a"
"bca"
"bcda"
"b"
"bcd"
Dois-je continuer à travailler ? Serait-ce un changement radical pour le reste de l'écosystème ?
Quelques idées:
keep_spliter
est true
, cela ne devrait pas faire de différence si keep
(qui signifie résultats vides) est true
ou false
, car il n'y aurait pas du tout de résultats vides.readlines(file)
fonctionne '\n'
à la fin.julia> split("abcabcdabbcd", "b"; keep_splitter = true, prepend = false)
3-element Array{SubString{String},1}:
"ab"
"cab"
"cdab"
"b"
"cd"
Merci d'avance!
PS, peut-être que cela peut être fait avec une autre fonction que je ne connais pas encore
Lié à une éventuelle fonction splitlines
(https://github.com/JuliaLang/julia/pull/20390), et au nouvel argument chomp
de readline
/ eachline
(https://github.com/JuliaLang/julia/pull/19944, https://github.com/JuliaLang/julia/pull/19944).
Cc : @mpastell
Notez qu'une autre façon de regarder le mot-clé keep
actuel, en réalité, c'est de dire que votre séparateur peut être répété 1 ou plusieurs fois, c'est-à-dire l'envelopper implicitement dans un (...)+
tant que regex.
Cela se produit également lorsque vous essayez de diviser les chaînes de cas de chameau :
foo = "ThisShouldBeSeparate"
split(foo, isuppercase)
5-element Array{SubString{String},1}:
""
"his"
"hould"
"e"
"eparate"
Une solution consiste à utiliser un délimiteur regex : split(foo, r"(?=[A-Z])")
mais c'est beaucoup moins intuitif (et je ne l'aurais pas résolu sans aide extérieure).
Commentaire le plus utile
Cela se produit également lorsque vous essayez de diviser les chaînes de cas de chameau :
Une solution consiste à utiliser un délimiteur regex :
split(foo, r"(?=[A-Z])")
mais c'est beaucoup moins intuitif (et je ne l'aurais pas résolu sans aide extérieure).