我正在尝试清理数据框中的列,其中的行如下所示:
1234, text ()
我需要保留所有行中的数字。我用过:
df$column = gsub(", text ()", "", df$column)
得到了这个:
1234()
我只用括号重复操作,但它们不会消失。我无法找到一个专门处理被删除的括号作为不需要的文本的示例。 sub
也不起作用。
任何人都知道为什么这不起作用?
答案 0 :(得分:2)
括号在正则表达式中存储元字符。您应该使用\\
或[]
或添加fixed = TRUE
来转义它们。但在您的情况下,您只想保留数字,所以只需使用\\D
gsub("\\D", "", "1234, text ()")
## [1] "1234"
答案 1 :(得分:0)
如果您的列始终看起来像上述格式:
1234, text ()
以下内容应该有效:
string extractedNumber = Regex.Match( INPUT_COLUMN, @"^\d{4,}").Value
读取如下:从字符串的开头找到四位或更多位数。