我有一个这样的矢量:

 vec <- c("a + 17", "äÜ - 20*3")

有不同的字母、数字和运算符.我想把这些信处理掉.或者,反过来,只保留数字和运算符.以下是我正在寻找的结果:

 c("17", "-20*3")

我试了gsub("[:alpha:]", "", vec),但它不起作用,我不明白为什么,因为[:alpha:]应该go 掉所有字母,然后我应该得到我正在寻找的矢量.但事实并非如此.

我找到了a similar question个,但也帮不上忙.

推荐答案

以下是使用gsub的另一种方法:

x <- gsub("[^0-9+-/*]", "", vec)

c(as.numeric(x)[1], x[2])

输出:

[1] "17"    "-20*3"
Warning message:
NAs introduced by coercion

R相关问答推荐

for循环和if else在R中

从字符载体创建函数参数

如何判断某列中由某些行组成的百分比

如何将在HW上运行的R中的消息(错误、警告等)作为批处理任务输出

如何修复R码的置换部分?

Ggplot2中的重复注记

如果可能,将数字列转换为整数,否则保留为数字

在R中使用Scale_y_Break后更改y轴标签

如何将SAS数据集的列名和列标签同时包含在r中GT表的表首?

按时间顺序对不同事件进行分组

R -在先前group_by级别汇总时获取最大大小子组的计数

将箭头绘制在图形外部,而不是图形内部

按列中显示的配对组估算NA值

如何使用For-R循环在向量中找到一系列数字

如何在反曲线图中更改X标签

R -基线图-图形周围的阴影区域

创建在文本字符串中发现两个不同关键字的实例的数据框

判断函数未加载R中的库

Data.table::Shift type=允许扩展数据(&Q;LAG&Q;)

我已经运行了几个月的代码的`Palette()`中出现了新的gglot错误