首页 > 解决方案 > 将两个字符串合并为一个字符串

问题描述

我是 julia 编程的新手,我不知道我写的是否正确。

问题是我有两个字符串,第一个是“dog”,第二个是“fish”,所以这些字符串的合并应该像这样一个字符一个字符地完成:“dfoigsh”。

我正在尝试编写代码来合并两个字符串,但它不起作用:

str1 = "fuad"
str2 = "hesen"
result = ""
str = ""
merge = str1 * str2

if length(str1)>length(str2)
str= str1
else str=str2
end

for i = 1:length(merge)
        result[i]=str1[i] #fuad , hesenkl, result = fhueasdenkl
        result[j+1]=str2[j]
        j=j+1
        i=i+1
end
println(result)
println(str)

标签: stringjulia

解决方案


请注意,在 Julia 中,字符串是不可变的。因此,为了合并它们,您必须*像以前那样使用运算符:

julia> str1 = "fuad"
"fuad"

julia> str2 = "hesen"
"hesen"

julia> merge = str1 * str2
"fuadhesen"

如果您想通过迭代字符串来进行练习,您可以创建一个Vector包含在其中的字符str1str2然后将其转换为一个String使用join,例如:

julia> res = Char[]
0-element Array{Char,1}

julia> for c in str1
           push!(res, c)
       end

julia> res
4-element Array{Char,1}:
 'f'
 'u'
 'a'
 'd'

julia> for c in str2
           push!(res, c)
       end

julia> res
9-element Array{Char,1}:
 'f'
 'u'
 'a'
 'd'
 'h'
 'e'
 's'
 'e'
 'n'

julia> join(res)
"fuadhesen"

这是你想要的吗?

编辑这是一个合并示例:

julia> str1 = "fuad"
"fuad"

julia> str2 = "hesen"
"hesen"

julia> str1, str2 = "fuad", "hesen"
("fuad", "hesen")

julia> c1, c2 = collect(str1), collect(str2)
(['f', 'u', 'a', 'd'], ['h', 'e', 's', 'e', 'n'])

julia> res = Char[]
0-element Array{Char,1}

julia> for i in 1:max(length(c1), length(c2))
           i > length(c1) || push!(res, c1[i])
           i > length(c2) || push!(res, c2[i])
       end

julia> res
9-element Array{Char,1}:
 'f'
 'h'
 'u'
 'e'
 'a'
 's'
 'd'
 'e'
 'n'

julia> join(res)
"fhueasden"

推荐阅读