我有类似的东西:
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)。
我已经尝试了一些字符串函数,但我不是那么用正则表达式... 你能救我吗?
电子
答案 0 :(得分:5)
没有必要为此包装。只需使用以下内容:
gsub("\\[|\\]", "", test)
这基本上说:"在test
中查找"["
或(|
)"]"
,如果找到它,请将其替换为空({ {1}})&#34。
由于""
和[
是正则表达式中的特殊字符,因此需要对其进行转义。
如果你只是删除了第一个和最后一个角色,你也可以做以下事情:
]
这基本上说,"从第二个位置开始提取字符串的一部分,然后从倒数第二个位置结束。"
答案 1 :(得分:3)
从字符串中删除[
和]
的一种简单方法是
x <- "[12345]"
gsub("[][]", "", x)
# [1] "12345"
此处,外部[]
表示括号中的一个字符。内部][
代表要替换的字符。