1

str_match を使用して最初の「一致」が見つかった後に検索を停止するオプションはありますか? grep の "m" に相当するものはありますか? stringr パッケージを調べましたが、何も見つかりませんでした。おそらく私はそれを逃しましたか?

指定された文字列で:

str <- "This is a 12-month study cycle"

以下を使用して抽出しています:それから12か月

str_match(str, "(?i)(\\w+)[- ](month|months|week|weeks)")[1]

ただし、文字列 str が次のように拡張されている場合:

"This is a 12-month study cycle. In the 2 month period,blah blah...".

検索を停止して 12 か月のみを取得し、12 か月と 2 か月の両方を取得しないようにしたいと思います。どうすればこれを行うことができますか?

4

2 に答える 2

3

これはどう ?

str <- "This is a 12-month study cycle"    
regmatches(str, regexpr("(?i)(\\w+)[- ](month|months|week|weeks)", str) )

[1]「12ヶ月」

str2 <- "This is a 12-month study cycle. In the 2 month period,blah blah..."
regmatches(str2, regexpr("(?i)(\\w+)[- ](month|months|week|weeks)", str2) )

[1]「12ヶ月」

于 2013-07-16T08:17:02.663 に答える