1
文字列から数字を抽出するために、Rにstringi
というパッケージを使用しようとしています。文字列のパターンは次のとおりです。R:文字列から数字を抽出する
1 nomination
2 wins
1 win & 3 nominations
2 wins & 1 nomination
won 1 Oscar. Another 5 wins & 2 nominations
各文字列の番号を抽出します。 がまたはの指名がの場合は、唯一の数字を勝利/指名として扱います。
はこれまでのところ、私は次のことを試してみました:
test <- "6 wins & 3 nominations."
str_extract(test, regex="\\w*\\d\\w*")
しかし、これが唯一の二番目の数字を含まない最初の数を、提供します。
stri_extract(test, regex="\\w*\\d+wins(\\s*+&+\\s*)(\\d)")
はNAを与えます。
次のように動作しますが、stri_extractにより、以下の、最初の文字列を分割することによって、あまりにも扱いにくいと感じる:
t <- strsplit(test, "&") # split the string first
win_num <- stri_extract(t[1], regex="\\d")
nomination_num <- stri_extract(t[2], regex="\\d") # if exists
1行で正規表現の方法を動作させるための任意の方法はありますか?ありがとう!
実際には 'stri_extract_all(test、regex =" \\ d + ")[[1]]'です。 – TonyGW
@TonyGWはい、私は 'regex ='を指定しませんでしたが、指定することなく動作します。 – akrun