我想将子字符串数组转换为 Char 或 String 值。
我拆分了一个字符串以获得一个元素数组
mdSplit = split(mdSub,r"[ ]+")
4-element Array{SubString{String},1}:
"73"
"G"
"T"
""
Run Code Online (Sandbox Code Playgroud)
但现在我想遍历这个数组,如果值是一个字符,我要把那个字符转换成一个字符,或者把它作为一个字符复制一个已经尝试过转换和解析
convert(Char,string(mdSplit[2]))
Run Code Online (Sandbox Code Playgroud)
首先,您可能需要重新考虑是否真的需要 String 和 Char 数组。拥有一个只有一种元素类型的数组不是更好吗?
无论如何,您可以将 SubString 转换为 String 或 Char,如下所示:
function string_or_char(s::SubString)
length(s) == 1 && return first(s)
return String(s)
end
Run Code Online (Sandbox Code Playgroud)
请注意,此函数类型不稳定。然后将其放入一个数组中,如下所示:
arr = Union{Char,String}[]
for i in split_string
push!(arr, string_or_char(i))
end
Run Code Online (Sandbox Code Playgroud)
或者,您可以像这样创建数组:
[string_or_char(s) for s in split_string]
。但这本身类型不稳定,并且可以返回Vector{Char}
,Vector{String}
或 中的任何一个Vector{Any}
。
only()
似乎是正确的方法:
julia> string_a = "a"
"a"
julia> char_a = only(string_a)
'a': ASCII/Unicode U+0061 (category Ll: Letter, lowercase)
Run Code Online (Sandbox Code Playgroud)
其他解决方案:
mdSplit[2][1]
或mdSplit[2][end]
或first(mdSplit[2])
或last(mdSplit[2])
都将 1 大小的字符串更改为字符。
归档时间: |
|
查看次数: |
1474 次 |
最近记录: |