gpt4 book ai didi

regex - 基于Julia中正则表达式的分割线

转载 作者:行者123 更新时间:2023-12-01 10:32:40 25 4
gpt4 key购买 nike

我有兴趣在Julia中使用正则表达式拆分一行。我的输入是Blei的LDA-C格式的语料库,由docId wordID : wordCNT组成。例如,一个包含五个单词的文档表示如下:

186 0:1 12:1 15:2 3:1 4:1

我正在寻找一种将单词及其数量聚合到单独的数组中的方法,即我想要的输出:
words =  [0, 12, 15, 3, 4]
counts = [1, 1, 2, 1, 1]

我尝试使用 m = match(r"(\d+):(\d+)",line)。但是,它仅找到第一对 0:1。我正在寻找类似于Python的 re.compile(r'[ :]').split(line)的东西。如何在Julia中基于正则表达式拆分行?

最佳答案

这里不需要使用正则表达式; Julia的 split 函数允许使用多个字符来定义拆分的位置:

julia> split(line, [':',' '])
11-element Array{SubString{String},1}:
"186"
"0"
"1"
"12"
"1"
"15"
"2"
"3"
"1"
"4"
"1"

julia> words = v[2:2:end]
5-element Array{SubString{String},1}:
"0"
"12"
"15"
"3"
"4"

julia> counts = v[3:2:end]
5-element Array{SubString{String},1}:
"1"
"1"
"2"
"1"
"1"

关于regex - 基于Julia中正则表达式的分割线,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44466792/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com