替换以句点开头的单词

时间:2017-09-02 21:26:27

标签: r regex str-replace stringr

我试图修复一个错误输入的十进制数错误的数据集。例如,某些条目被输入为" .15"而不是" 0.15"。目前这个列是chr但后来我需要将它转换为数字。

我试图选择所有这些"单词"从一段时间开始"。"并用" 0替换句号。"但似乎" ^"用于锚定字符串的开头并不能很好地处理句号。

我尝试过:

dataIMN$precip <- str_replace (dataIMN$precip, "^.", "0.")

但它在所有条目的开头加上0,包括正确输入的条目(那些不以句号开头的条目)。

1 个答案:

答案 0 :(得分:1)

如果你需要按照你的说法去做,方括号[]是'find exact'的正则表达式,或者你可以使用'\\'来逃避一个字符,例如句点:

选项1:

gsub("^[.]","0.",".54")
[1] "0.54"

选项2:

gsub("^\\.","0.",".54")
[1] "0.54"

否则,as.numeric也应该自动处理。