我不想重新发明轮子。只需查找搜索字符串或字符串向量的函数,并为找到匹配项的每个元素返回true。这是我到目前为止所尝试的。
grepl(x::String, y) = length(search(x, y)) > 0
grepl(x::Vector{String}, y) = length.(search(x, y)) .> 0
grepl(x::Vector{AbstractString}, y) = length.(search(x, y)) .> 0
使用示例:
v = string.('a':'z')
x = rand(v, 100) .* rand(v, 100) .* rand(v, 100)
grepl(convert(Vector{String}, x), "z")
好吧,如果我能让我的类型正常工作,这将是一个有效的例子。基本上我可以使用return来仅选择其中包含"z"
的元素。
答案 0 :(得分:9)
只需使用contains
即可。在0.6上,您可以直接使用点播:
julia> contains.(["foo","bar","baz"],"ba")
3-element BitArray{1}:
false
true
true
在0.5上,你可以简单地将第二个参数包装在一个数组中:contains.(["foo","bar","baz"],["ba"])
。