Julia 字符串
阐述
字符串由 AbstractString
抽象类型及其子类型定义。
具象类型
子类型 String <: AbstractString
是用 UTF-8 编码表示的 Unicode 字符构成的字符串。字符串是不可变的。
相关方法
- 取下标(
getindex
):是字节的下标,不是字符的下标,所以不是每个下标都合法 - 切片
- 视图
substr = SubString(str, 1, 4)
- 函数
firstindex(s)
总是返回 1,但lastindex(s)
不一定与长度一样 - 用
prevind(s, lastindex(s), 2)
来获得正确的索引 - 用迭代器直接获取各个字符
- 用
codeunit(s, i)
访问编码后的值 - 连接(乘法或
string()
) - 插值
实例
字面值
- 双引号:包含的双引号用
\
转义,可以用\
换行 - 三个双引号:会自动去缩进到最小缩进的一行
- 字面值中可以包括转义
自定义字符串字面值
正则表达式实际上是一个具有特殊语法的宏:
macro r_str(p)
Regex(p)
end
这样,我们就能使用 r"string"
这样的表达了。
另外,我们也可以定义特殊的命令字面值,通过 cliteral
我们实际上获得的是 @c_cmd "literal"
。