1

私は次のようなものを持っています:

test[1] 
"[0 30.5 4.5 10.5 2 35 22.999999999999996 29 5.500000000000001 23.5 18 23.5 44.5 3 44.5 44.00000000000001 43 27 42 35.5 19.5 44.00000000000001 1 0 31 34 18 1.5 26 6 45.99999999999999 10.5 9.5 24 20 42.5 14.5 45.5 20.499999999999996 150 45.5 0 4.5 22.5 4 9 8 0 0 15.5 30.5 7 5.500000000000001 12.5 33.5 15 500 22.5 18 43 4.5 26 23.5 16 4.5 7.5 32 0 0 18.5 33 31 14.5 21.5 0 40 0 0 43.49999999999999 22.999999999999996]"

そして、各行 (test[1] test[2] ...) の [ と ] (最初と最後の文字) を削除したいのですが、ポイント (22.9999) を保持したいと思います。

いくつかのストリンガー関数を試しましたが、正規表現にはあまり向いていません...助けてもらえますか?

4

2 に答える 2

8

これにはパッケージは必要ありません。次のようなものを使用してください。

gsub("\\[|\\]", "", test)

これは基本的に次のように述べtest"["|ます。"]"""

[とは正規表現の特殊文字であるため]、エスケープする必要があります。


最初と最後の文字を削除するだけの場合は、おそらく次のようなこともできます。

substring(test, 2, nchar(test)-1)

これは基本的に、「文字列の 2 番目の位置から始まり、最後から 2 番目の位置で終わる部分を抽出する」ことを意味します。

于 2014-07-28T10:39:32.170 に答える
3

文字列から[andを削除する簡単な方法の 1 つは、次のとおりです。]

x <- "[12345]"

gsub("[][]", "", x)
# [1] "12345"

ここで、外側とは括弧内の文字の 1 つを[]意味します。内側は置換対象の文字を表します。][

于 2014-07-28T11:12:29.170 に答える