のは、我々が持っているとしましょう:
番号は常に
[0-9]
以外のもので囲まれていると仮定すると、
text <- "asdasd8927askdmasjdo89jans1982736djnaos987anksdjnj2008da"
、解説について
idx <- gregexpr("[0-9]+", text)[[1]]
lens <- attr(idx, "match.length")
nums <- lapply(seq_along(idx), function(i) {
substr(text, idx[i], idx[i] + lens[i] - 1)
})
nums <- as.numeric(nums)
(?grep
と?substr
:あなたはこれを行います関数を書くことができイオン) 最後に、あなたはより大きい2017
sum(nums > 2017)
編集(コメント)
するのは我々だけ正確に4桁の数字を見てみたいとしましょう、その後、正規表現されている数字をカウントすることができます(およびインデックスはsubstr
)を調整することができます。今度は「Not a Number」の4倍「a Number」「Not a Number」を検索します。したがって、「数字」部分のみを抽出するには、substr
を後で開始し、1つ前の位置を先に停止します。
idx <- gregexpr("[^0-9][0-9]{4}[^0-9]", text)[[1]]
lens <- attr(idx, "match.length")
nums <- lapply(seq_along(idx), function(i) {
substr(text, idx[i] + 1, idx[i] + lens[i] - 2)
})
nums <- as.numeric(nums)
nums
には2桁の4桁の数字しか含まれていません。
nums
sum(nums > 2017)
使用しているすべてのパッケージを指定してください。 – Roland
rvest and reshape2 – nemja