string - 如何在 Julia 中获取字符串的子字符串?
问题描述
在 Julia 中有没有一种方法可以从一个特定角色传递到另一个角色?例如,我想获取s="Hello, world"
3 到 9 个字符的变量。
# output = 'llo, wo'
解决方案
另一种解决方案仅适用于 ASCII 字符串。然而,正如我前段时间在我的博客上讨论的那样,Julia在语法中使用字节索引而不是字符索引。如果你想使用字符索引(我假设你从你的问题的措辞中做)这里你有一个使用宏的解决方案。getindex
通常(不使用上面链接的解决方案)要使用的函数是:chop
、、、或用于索引操作first
、、和。last
prevind
nextind
length
因此,例如要获取 3 到 9 的字符,安全的语法是例如(仅显示几种组合)
julia> str = " Hello! "
" Hello! "
julia> last(first(str, 9), 7)
"Hello! "
julia> chop(str, head=2, tail=length(str)-9)
"Hello! "
julia> chop(first(str, 9), head=2, tail=0)
"Hello! "
julia> str[(:)(nextind.(str, 0, (3, 9))...)]
"Hello! "
请注意,以下内容不正确:
julia> str[3:9]
ERROR: StringIndexError: invalid index [3], valid nearby indices [1]=>'', [5]=>' '
有一个未解决的问题可以使chop
您更加灵活,这将简化您的特定索引案例。
推荐阅读
- docker - 无法使用 Docker 获取本地主机 IP
- html - 绝对div父级内的css div子级
- javascript - 按组对相同的属性对象求和
- react-native - 如何获取从添加到购物车页面传递的产品的 redux 存储数据
- vim - 在vim中通过运动覆盖粘贴
- azure-devops - Azure DevOps ClickOnce Build&Release publish.htm missing
- node.js - Firebase 远程配置不适用于单元测试中的 NodeJS
- prestashop - actionValidateCustomerAddressFormAfter 在 Prestashop 的表单验证之前触发钩子
- mobile - 2020年跨平台APP开发情况如何?
- azure - 如何将文件从工件目录复制到 azure app 服务?