代わりに文字列を分割する他の可能性はありますか?
unlist(strsplit("1.2.3", "[.]"))
scan(text="1.2.3", what="", sep=".")
?gsub
ベース パッケージ (「参考文献」を参照) に含まれる R のパターン マッチング関数のうち、gregexpr
ここで使用するのに適しているのは 1 つです。ではない文字のチャンクの開始位置と終了位置を識別し、.
次を使用してそれらを再構築できますregmatches
。
x <- "1.2.3.4as.zz2.zzxd3"
regmatches(x, gregexpr("[^.]+", x))[[1]]
# [1] "1" "2" "3" "4as" "zz2" "zzxd3"
しかし、実際には、を使用することで得られるものはわかりませんstrsplit
。気に入らないところを教えていただければ、もっとお役に立てるかもしれません。
gsub とサブ。Sub はレイジーなので、パターンの最初の出現 (左から右) でのみ機能します。Gsub (グローバルサブ) はそれらすべてで動作します。
> sub("asdkd_kasd_ads", pattern = "_", replacement = "")
[1] "asdkdkasd_ads"
> sub("asdkd_kasd_ads", pattern = "_.*", replacement = "")
[1] "asdkd"
> gsub("asdkd_kasd_ads", pattern = "_", replacement = "")
[1] "asdkdkasdads"
> gsub("asdkd_kasd_ads", pattern = "_.*", replacement = "")
[1] "asdkd"
またはあなたの場合:
> gsub("1.2.3", pattern = "\\.", replacement = " ")
[1] "1 2 3"