真正的基本问题,但我有一个包含多行脏数据的列,我一直在寻找使用正则表达式来清理它,尽管不可否认,这可能不是最好的方法。
我希望拆分这些字符串,并将它们分为两列:Quantity,Code。
library(tiydyr)
library(dplyr)
df <- data.frame(string = c("1234" , "4321 9876", "199 1234 5678 12",
"1234 12 9876 1234 12 1"))
df <- extract(df, string, c("Quantity","Code"), "(\\d{1,3})(\\d{4})" )
我收到以下错误:
错误:列规范无效
正如评论中所指出的,我要做的事情需要多个正则表达式。如果有人可以指出我正确的方向,如何分割一个,如[数量,代码],这将是非常有帮助的。
+-------------------------------+
|Row Dirty String |
+-------------------------------+
| 1 1234 |
| 2 4321 9876 |
| 3 199 1234 5678 12 |
| 4 1234 12 9876 1234 12 1 |
+-------------------------------+
(理想)
+---------------------------+
| Row Quantity Code |
+---------------------------+
| 1 1 1234 |
| 2 1 4321 |
| 3 1 9876 |
| 4 199 1234 |
| 5 12 5678 |
| 6 1 1234 |
| 7 12 9876 |
| 8 12 1234 |
+---------------------------+