string - 将两个字符串合并为一个字符串
问题描述
我是 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)
解决方案
请注意,在 Julia 中,字符串是不可变的。因此,为了合并它们,您必须*
像以前那样使用运算符:
julia> str1 = "fuad"
"fuad"
julia> str2 = "hesen"
"hesen"
julia> merge = str1 * str2
"fuadhesen"
如果您想通过迭代字符串来进行练习,您可以创建一个Vector
包含在其中的字符str1
,str2
然后将其转换为一个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"
推荐阅读
- java - Java 中的 Integer.BYTES 有什么意义?
- javascript - 如何显示来自 unicode ajax responseText 的图像?
- reactjs - 如何在 react-data-grid 中为长文本添加文本换行?
- php - Woocommerce 可下载产品作为电子邮件附件 - 403 禁止
- angular - 角度翻译提取失败
- java - 库 Armen101 / AudioRecordView:不再出现块/条
- c++ - Clang 索引未检测到 C++20 ConceptDecls
- haxe - 有什么方法可以调用函数/引用以 haxe 中另一个变量的值命名的公共变量?
- php - Laravel PHP 不会在表单提交中显示所有图片/项目上传
- windows - 在 Windows 批处理文件中静音 For 的命令输出