Во-первых, вы можете пересмотреть, хотите ли вы действительно массив String и Char. Разве не лучше иметь массив только с одним типом элемента?
В любом случае, вы можете преобразовать SubString в String или Char следующим образом:
function string_or_char(s::SubString)
length(s) == 1 && return first(s)
return String(s)
end
Обратите внимание, что эта функция Тип нестабильный. Затем поместите его в массив следующим образом:
arr = Union{Char,String}[]
for i in split_string
push!(arr, string_or_char(i))
end
В качестве альтернативы вы можете сделать свой массив следующим образом: [string_or_char(s) for s in split_string]
. Но это будет нестабильный тип, и он может возвращать любой из Vector{Char}
, Vector{String}
или Vector{Any}
.