に文字列を引きますか?結果としてこの結果を受け取るは、私は、このような文字列を持っているR
>phrase_new[1]
"this_is.//the_first?"
>phrase_new[2]
"the_second"
私はこれを試しても動作しません。これにはどんな考えがありますか?
phrase_new <- sub("[:?:]", "", phrase)
に文字列を引きますか?結果としてこの結果を受け取るは、私は、このような文字列を持っているR
>phrase_new[1]
"this_is.//the_first?"
>phrase_new[2]
"the_second"
私はこれを試しても動作しません。これにはどんな考えがありますか?
phrase_new <- sub("[:?:]", "", phrase)
あなたは文字で、それを分割したい場合は、より良い使用strsplit
:我々はsub
が必要な場合は
> strsplit(phrase, "?", fixed = TRUE)
[[1]]
[1] "this_is.//the_first" "the_second"
は、我々はグループ((...)
)として?
までの文字をキャプチャすることができますし、中そのグループには逆参照(\\1
)を提供します。第二のサブストリングのために
sub("(.*\\?).*", "\\1", phrase)
#[1] "this_is.//the_first?"
、我々は?
まで、一つ以上の文字(.*
)と一致し、""
と交換してください。
sub(".*\\?", "", phrase)
#[1] "the_second"
@のm0nhawkが示唆したように、strsplitは、文字列を破るために素晴らしいです。しかし、要素を抽出するためにあなたの要件のために、あなたはOPは `?`、ので、多分 `strsplit(句を、 "(?<= \\?)" しておきたいよう
phrase <- "this_is.//the_first?the_second"
phrase_new <- strsplit(phrase,split = '?',fixed = T)[[1]]
phrase_new[1]
phrase_new[2]
が見える二重の角括弧を使用する必要があります、perl = TRUE) 'それを行うことができます。 –