Есть ли какое-нибудь регулярное выражение, которое можно передать повторно, так что оно будет вести себя как .split
?Может ли re-seq заставить себя вести себя как .split?
user=> (seq (.split "a,b,c,,e" ","))
("a" "b" "c" "" "e")
user=> (re-seq #"[^,]" "a,b,c,,e")
("a" "b" "c" "e")
user=>
Как вы можете видеть, что регулярное выражение [^,]
не вполне приемлемым, поскольку он не будет забрать на пустых столбцов в файл с разделителями. Я застрял с .split
или может сделать re-seq
?
Почему вы предпочитаете использовать повторно, когда раскол SEQ работает нормально? –
@MichielBorkent: Ну, я закончил использование '.split'. Но все это началось, когда я выполнял проект cascalog, и я хотел использовать метод «re-parse» cascalog для разделения текста с разделителями табуляции (потому что он выглядел так, как будто он предназначался для такого рода вещей). И столбцы были сброшены с входа, и cascalog выкапывал, потому что я сказал, что мой генератор выпустил 7 столбцов, и вместо этого он создавал 5 столбцов для некоторых строк. И это было потому, что 're-parse' реализован с помощью' re-seq'. Поэтому в конечном счете я использовал '.split', но было просто любопытно. – Kevin