私は本当に正規表現を学ぶ時間を置いており、私はさまざまなおもちゃのシナリオで遊んでいます。私が働くことができない1つのセットアップは、文字列の先頭からn> 1の文字が出現することです。
ここでは、文字列の先頭から最初のアンダースコアまで取得できますが、これを2番目または3番目のアンダースコアに一般化することはできません。
x <- c("a_b_c_d", "1_2_3_4", "<_?_._:")
gsub("_.*$", "", x)
Here's what I'm trying to achieve with regex. (`sub`/`gsub`):
## > sapply(lapply(strsplit(x, "_"), "[", 1:2), paste, collapse="_")
## [1] "a_b" "1_2" "<_?"
#or
## > sapply(lapply(strsplit(x, "_"), "[", 1:3), paste, collapse="_")
## [1] "a_b_c" "1_2_3" "<_?_."
関連する投稿:文字列の最初の文字から最後までの正規表現