美文网首页Julia语言
Julia 字符串基础

Julia 字符串基础

作者: Julia语言 | 来源:发表于2018-09-17 09:40 被阅读42次

微信公众号:Julia语言
每周一三五更新Julia语言
每周二四六更新Python进阶

字符串基础

字符串文本应放在双引号 "..." 或三个双引号 """...""" 中间:

julia> str = "Hello, world.\n"
"Hello, world.\n"

julia> """Contains "quote" characters"""
"Contains \"quote\" characters"

使用索引从字符串提取字符:

julia> str[1]
'H': ASCII/Unicode U+0048 (category Lu: Letter, uppercase)

julia> str[6]
',': ASCII/Unicode U+002c (category Po: Punctuation, other)

julia> str[end]
'\n': ASCII/Unicode U+000a (category Cc: Other, control)

Julia 中的索引都是从 1 开始的,最后一个元素的索引与字符串长度相同,都是 n 。
在任何索引表达式中,关键词 end 都是最后一个索引值(由 endof(str) 计算得到)的缩写。可以对字符串做
end 算术或其它运算:

julia> str[end-1]
'.': ASCII/Unicode U+002e (category Po: Punctuation, other)

julia> str[end÷2]
' ': ASCII/Unicode U+0020 (category Zs: Separator, space)

索引小于 1 或者大于 end ,会提示错误:

julia> str[0]
ERROR: BoundsError: attempt to access "Hello, world.\n"
  at index [0]
[...]

julia> str[end+1]
ERROR: BoundsError: attempt to access "Hello, world.\n"
  at index [15]
Stacktrace:
[...]

使用范围索引来提取子字符串(左右两边都是闭,也就是都包括)

julia> str[4:9]
"lo, wo"
julia> str[1:2]
"He"

str[k] 和 str[k:k] 的显示的结果不同:

julia> str[6]
',': ASCII/Unicode U+002c (category Po: Punctuation, other)

julia> str[6:6]
","

前者是类型为 Char 的单个字符,后者为仅有一个字符的字符串。在 Julia 中这两者完全不同。

范围索引会复制原始字符串的选定部分。 使用SubString类型创建字符串视图,例如:

julia> str = "long string"
"long string"

julia> substr = SubString(str, 1, 4)
"long"

julia> typeof(substr)
SubString{String}
欢迎关注微信公众账号Julia语言.jpg

点击阅读原文可查看历史文章

相关文章

网友评论

    本文标题:Julia 字符串基础

    本文链接:https://www.haomeiwen.com/subject/jowrgftx.html