Halo,
Saya ingin menyarankan permintaan fitur, yang sekarang sedang saya kerjakan di cabang baru, untuk fungsi split(str, splitter; limit=0, keep=true)
.
Saya mendapati diri saya mencoba menggunakan fungsi dengan cara itu, dan apa yang saya harapkan entah bagaimana adalah sebagai berikut,
julia> split("abcabcdabbcd", "b"; keep_splitter = true)
3-element Array{SubString{String},1}:
"a"
"bca"
"bcda"
"b"
"bcd"
Haruskah saya terus bekerja? Apakah ini akan menjadi perubahan besar bagi ekosistem lainnya?
Beberapa ide:
keep_spliter
adalah true
, maka seharusnya tidak ada bedanya apakah keep
(yang berarti hasil kosong), adalah true
atau false
, karena, tidak akan ada hasil kosong sama sekali.readlines(file)
, bukan? Di setiap elemen array kita memiliki '\n'
di akhir.julia> split("abcabcdabbcd", "b"; keep_splitter = true, prepend = false)
3-element Array{SubString{String},1}:
"ab"
"cab"
"cdab"
"b"
"cd"
Terima kasih sebelumnya!
PS, mungkin bisa dilakukan dengan fungsi lain saya belum tahu
Terkait dengan kemungkinan fungsi splitlines
(https://github.com/JuliaLang/julia/pull/20390), dan dengan argumen chomp
ke readline
/ eachline
(https://github.com/JuliaLang/julia/pull/19944, https://github.com/JuliaLang/julia/pull/19944).
Cc: @mpastell
Perhatikan bahwa cara lain untuk melihat kata kunci keep
, yang sebenarnya adalah mengatakan bahwa splitter Anda dapat diulang 1 kali atau lebih, yaitu secara implisit membungkusnya dalam (...)+
sebagai regex.
Ini juga muncul ketika mencoba membagi string kotak unta:
foo = "ThisShouldBeSeparate"
split(foo, isuppercase)
5-element Array{SubString{String},1}:
""
"his"
"hould"
"e"
"eparate"
Solusinya adalah dengan menggunakan pembatas regex: split(foo, r"(?=[A-Z])")
tetapi itu jauh lebih tidak intuitif (dan saya tidak akan menyelesaikannya tanpa bantuan dari luar).
Komentar yang paling membantu
Ini juga muncul ketika mencoba membagi string kotak unta:
Solusinya adalah dengan menggunakan pembatas regex:
split(foo, r"(?=[A-Z])")
tetapi itu jauh lebih tidak intuitif (dan saya tidak akan menyelesaikannya tanpa bantuan dari luar).