string - 如何将 unicode 字符串附加到 Julia 中的字符串列表?

标签 string unicode julia list-comprehension

对于整数,可以通过以下方式完成列表理解:

julia> nums = [1,2,3,4]
4-element Array{Int64,1}:
 1
 2
 3
 4

julia> nums = [i+1 for i in nums]
4-element Array{Int64,1}:
 2
 3
 4
 5

但是当我尝试向字符串中添加一个字符时,它会抛出一个错误:

julia> s = split("the lazy fox jumps over the brown dog")
8-element Array{SubString{String},1}:
 "the"  
 "lazy" 
 "fox"  
 "jumps"
 "over" 
 "the"  
 "brown"
 "dog"  

julia> s2 = [word +'X' for word in s]
ERROR: syntax: invalid comprehension syntax

当字符是私有(private) unicode 字符 ( http://www.fileformat.info/info/unicode/char/e000/index.htm ) 时,它会抛出另一个错误:

julia> s2 = [word + u'\uE000' for word in s]

错误:UndefVarError:你没有定义 在 ./array.jl:307 处收集(::Base.Generator{Array{SubString{String},1},##3#4})

如何将 unicode 字符/字符串附加到 Julia 中的字符串列表?

最佳答案

要快速回答你的问题,正确的做法是

[i*"X" for i in s]

但是,请记住 'X' 是和 "X" 是两个不同的东西。

julia> val = 'X'
'X'
julia> typeof(val)
Char

julia> val = "X"
"X"
julia> typeof(val)
String

如果您有 Python 背景,这可能最初会发生,而两者之间没有区别。

Julia 中的字符串连接也是由 * 而不是 + 完成的! 你可能会问为什么会这样!那么看看这个帖子here

关于string - 如何将 unicode 字符串附加到 Julia 中的字符串列表?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43112806/

相关文章:

c# - 如何使用 REGEX 将作者拆分为对象或数组 C#?

c++ - 为什么 std::string 与 C union 不兼容?

windows - Perl Unicode 故障

unicode - Java 8 处理与 Java 7 不同的无效 UTF-8 编码....?

用于 Julia 集群计算的随机数种子

enums - 用于与 Enum 进行开关或模式匹配的宏

julia - 如何评估字符串/将字符串转换为 Expr

python - 如何获取python列表中项目的索引和值?

JavaScript 在每次出现时分割一个字符串

python - 修复错误的 unicode 字符串