如何从R中的字符串中删除第N个字符?

时间:2019-04-17 21:18:41

标签: r stringr

Q1)非常简单。我有

a <- "* 3.45"

我需要删除第一个和第二个字符,所以我有

b <- "3.45"

我该怎么做?

Q2)一个更通用的问题: 如何删除字符串中数字前面的所有非数字字符? 因此,如果我有"%$aqs -3.45",我会得到"-3.45"吗?

2 个答案:

答案 0 :(得分:2)

对于第一部分,您可以执行以下操作:

substr(a, 3, nchar(a))

[1] "3.45"

或者:

substring(a, 3)

答案 1 :(得分:2)

如果要删除数字前面的“非数字字符”,可以使用一些正则表达式

a <- "* 3.45"
b <- "%$aqs -3.45"
gsub("^[^0-9.-]+", "", a)
# [1] "3.45"
gsub("^[^0-9.-]+", "", b)
# [1] "-3.45"

在这里,我们删除字符串开头的非数字,小数点或减号的任何内容。