以下是银行对账单的一部分示例:
Description<-c(
"EXXONMOBIL 46344172 "
"EXXONMOBIL 97142239 "
"EXXONMOBIL 97523322 "
"EXXONMOBIL 99123183 "
"JIMMY JOHNS - 1236 "
"JIMMY JOHNS - 2453 "
"JIMMY JOHNS # 95612 "
"KWIK FILL 212 "
"KWIK TRIP 24500001231 "
"KWIK TRIP 32100002342 "
"KWIK TRIP 67200003453 "
"MCDONALD'S F11123 "
"MCDONALD'S F11234 "
"MCDONALD'S F25345 "
"MCDONALD'S F5349 "
)
Debit<-as.numeric(c(
"25.98",
"24.54",
"29.59",
"31.85",
"7.61",
"17.82",
"10.58",
"26.5",
"22.48",
"146.62",
"52.51",
"2.57",
"7.77",
"9.59",
"11.85"
))
df<-data.frame(Description,Debit)
使用以下输出:
Description Debit
EXXONMOBIL 46946182 25.98
EXXONMOBIL 97302509 24.54
EXXONMOBIL 97585822 29.59
EXXONMOBIL 99374183 31.85
JIMMY JOHNS - 1476 7.61
JIMMY JOHNS - 2763 17.82
JIMMY JOHNS # 90012 10.58
KWIK FILL 228 26.5
KWIK TRIP 24500002451 22.48
KWIK TRIP 32100003210 146.62
KWIK TRIP 67200006726 52.51
MCDONALD'S F11780 2.57
MCDONALD'S F11883 7.77
MCDONALD'S F25398 9.59
MCDONALD'S F4789 11.85
我是wondernig如何通过描述汇总结果,以便删除唯一代码,我得到埃克森美孚,吉米约翰等公司的每个公司的费用汇总。不确定是否最好的方式如果消除空白后的所有内容,消除所有数字字符,或(在我看来可能是最好的一个)摆脱所有数字和特殊字符,只保留字母?
无论如何,所需的输出将是这样的:
Description Debit
EXXONMOBIL 111.96
JIMMY JOHNS 36.01
KWIK FILL 26.5
KWIK TRIP 221.61
MCDONALD'S 31.78
有什么建议吗?
答案 0 :(得分:1)
在REGEX中这很简单。
E.g。
EXXONMOBIL.* (\d*.\d*)
You can see it working here...
在群组中拥有这些值后,您可以使用任何语言将值相加或更改您搜索的根。