におけるフィルタで正規表現を使用することがジュリア内の文字列にマッチするシンプルな条件合うアイテムフィルタリングすることが可能である:ジュリア
y = ["1 123","2512","31 12","1225"]
filter(x-> ' ' in x, y)
[出]:
2-element Array{String,1}:
"1 123"
"31 12"
をしかし、どのように、私は入手できますかフィルタの条件と一致しないアイテムを保持したい逆の場合は?
> y = ["1 123","2512","31 12","1225"]
> filter(x-> !' ' in x, y)
MethodError: no method matching !(::Char)
Closest candidates are:
!(::Bool) at bool.jl:16
!(::BitArray{N}) at bitarray.jl:1036
!(::AbstractArray{Bool,N}) at arraymath.jl:30
...
in filter(::##93#94, ::Array{String,1}) at ./array.jl:1408
どちらも、このようなPythonのようなものです::
この構文は適切ではないん
> y = ["1 123","2512","31 12","1225"]
> filter(x-> match(r"[\s]", x), y)
TypeError: non-boolean (RegexMatch) used in boolean context
in filter(::##95#96, ::Array{String,1}) at ./array.jl:1408
:
> y = ["1 123","2512","31 12","1225"]
> filter(x-> ' ' not in x, y)
syntax: missing comma or) in argument list
さらに、私はまた、正規表現を使用することを試みました
空白が文字列内にあるかどうかを確認する以外に、match()
正規表現を使用して文字列のリストから項目を除外しますか?ために
予想される出力は '[ "2512"、 "1225"]'、右? – RomanPerekhrest
それは '[" 2512 "、" 1225 "]'ですが、 'match()'条件で 'filter()'を使う方法についてもっと一般的な質問があります。 – alvas