-1

代わりに文字列を分割する他の可能性はありますか?

unlist(strsplit("1.2.3", "[.]"))
scan(text="1.2.3", what="", sep=".")
4

2 に答える 2

4

?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。気に入らないところを教えていただければ、もっとお役に立てるかもしれません。

于 2013-09-04T11:42:10.613 に答える
-1

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"
于 2013-09-04T11:35:17.533 に答える