String 基于长度的子集字符串数组

String 基于长度的子集字符串数组,string,julia,String,Julia,我有一个超过30000字的向量。我想创建这个向量的子集,它只包含长度大于5的单词。实现这一目标的最佳方式是什么 基本上df包含多个句子 所以 现在,我需要对单词列表进行子集,以便它只包含长度大于5的单词 sub(A,find(x->length(x)>5,A)) # => creates a view (most efficient way to make a subset) 编辑:getindex()返回所需元素的副本 getindex(A,find(x->leng

我有一个超过30000字的向量。我想创建这个向量的子集,它只包含长度大于5的单词。实现这一目标的最佳方式是什么

基本上df包含多个句子

所以

现在,我需要对单词列表进行子集,以便它只包含长度大于5的单词

 sub(A,find(x->length(x)>5,A)) # => creates a view (most efficient way to make a subset)
编辑:
getindex()
返回所需元素的副本

getindex(A,find(x->length(x)>5,A)) # => makes a copy 

您可以使用
过滤器

wordlist = filter(x->islenatleast(x,6),wordlist)
并将其与快速条件相结合,例如定义为:

function islenatleast(s,l)
    if sizeof(s)<l return false end
    # assumes each char takes at least a byte
    l==0 && return true
    p=1
    i=0
    while i<l
        if p>sizeof(s) return false end
        p = nextind(s,p)
        i += 1
    end
    return true
end

也可以。

请编辑您的问题并添加一些示例代码和您迄今为止尝试过的内容。它返回一个错误,sub没有与sub匹配的方法(::数组{Any,1},::数组{Int64,1})我使用了以下语法,wordlist2=sub(wordlist,find(x->length(x)>4,wordlist));知道了!使用了getindex而不是sub。getindex()提供了一个副本,但是sub()创建了一个视图,两者的语法相同。以上代码适合我(版本#=>v“0.4.0-rc2”)
function islenatleast(s,l)
    if sizeof(s)<l return false end
    # assumes each char takes at least a byte
    l==0 && return true
    p=1
    i=0
    while i<l
        if p>sizeof(s) return false end
        p = nextind(s,p)
        i += 1
    end
    return true
end
wordlist = filter(x->length(x)>5,wordlist)