本篇代码在Julia1.0.2中测试通过
正则表达式应用
s1 = "The quick brown fox jumps over the lazy dog α,β,γ"
# julia中也有这样的函数:它能够寻找能被一个字符串匹配到的正则表达式,并以RegexMatch类型返回
# match函数会从左向右寻找第一个匹配(也可以人为指定开始的位置)
r = match(r"b[\w]*n", s1)
println(r)
# 程序输出: RegexMatch("brown")
# RegexMatch类型拥有一个match属性,这个属性记录了所匹配到的字符串
show(r.match); println()
# 程序输出: "brown"
官方文档有详细介绍:
https://docs.julialang.org/en/v1/manual/strings/#Regular-Expressions-1
字符串删除
# strip函数的用法和python是一致的
# 当传入参数仅有一个时,函数将会删去字符串两边的空格
r = strip("hello ")
show(r); println()
# 程序输出: "hello"
# 当第二个参数指定为数组时,字符串将会删去其中所有的字符
r = strip("hello ", ['h', ' '])
show(r); println()
# 程序输出: "ello"
# (注意数组中是字符而不是字符串)
字符串分割
# 类似的,split函数也与python中类似
r = split("hello, there,bob", ',')
show(r); println()
# 程序输出: SubString{String}["hello", " there", "bob"]
r = split("hello, there,bob", ", ")
show(r); println()
# 程序输出: SubString{String}["hello", "there,bob"]
r = split("hello, there,bob", [',', ' '])
show(r); println()
# 程序输出: SubString{String}["hello", "", "there", "bob"]
# 逗号与空格之间的空字符也输出出来了
# 若不想输出空字符,可以设置keepempty参数
r = split("hello, there,bob", [',', ' '],keepempty=false)
show(r); println()
# 程序输出:SubString{String}["hello", "there", "bob"]
# 与split相反的join函数就很简单了
r= join(collect(1:10), ", ")
println(r)
# 程序输出: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10
欢迎关注微信公众账号Julia语言.jpg
点击阅读原文可查看历史文章
网友评论