我有一个名为indicator
的 Dataframe ,在实际观察(内容)之前有数字和字母混合,即在下面的DF中,混合的字母和数字是
6.2-, S1.1, S3.1- & I1.1
实际DF
indicator <- c("6.2- Total number customers per month (average)","S1.1 Total of unique users served per month", "S3.1- Volume of merchandise sold per month",
"I1.1 Quantity of bags received per month.")
amount <- c(12, 45, 44, 67)
DF <- data.frame(indicator, amount)
> DF
indicator amount
1 6.2- Total number customers per month (average) 12
2 S1.1 Total of unique users served per month 45
3 S3.1- Volume of merchandise sold per month 44
4 I1.1 Quantity of bags received per month. 67
如何使用stringr
或regex
删除混合的数字和字母?
2条答案
按热度按时间krcsximq1#
你可以使用
sub()
如下:下面是对所使用的正则表达式模式的解释:
^
从指示器的开始[A-Z]*
匹配零个或多个前导大写字母\d
匹配数字(?:\.\d+)*
后跟点和数字,零次或多次-?
匹配可选的结束破折号\s+
匹配一个或多个空格字符r6hnlfcb2#
假设指示符始终位于开头,后面跟一白色,您可以这样做来删除从开头到第一个空格的所有内容。
^
锚定到字符串的开头.*
匹配所有内容(直到白色)?
在第一白色而不是最后一个空格处停止正则表达式