我需要从这个向量中提取价格,而不是符号:“S /."
例如:“\ r \ n \ t \ t \ t \ t \ t /。499.95” - > 499.95
或:“\ r \ n \ t \ t \ t \ t \ t /。1,099.95” - > 1,099.95
这是我的尝试:
precios <- str_extract_all(tvs_prices, "[0-9]*\\,[0-9]*\\.?[0-9]*$")
这是我的载体:
[1] "\r\n\t\t\t\t\tS/. 499.95" "\r\n\t\t\t\t\tS/. 9,999" "\r\n\t\t\t\t\tS/. 899" "\r\n\t\t\t\t\tS/. 1,349"
[5] "\r\n\t\t\t\t\tS/. 1,499" "\r\n\t\t\t\t\tS/. 1,999" "\r\n\t\t\t\t\tS/. 699" "\r\n\t\t\t\t\tS/. 499"
[9] "\r\n\t\t\t\t\tS/. 899" "\r\n\t\t\t\t\tS/. 999" "\r\n\t\t\t\t\tS/. 1,099" "\r\n\t\t\t\t\tS/. 1,299"
[13] "\r\n\t\t\t\t\tS/. 299" "\r\n\t\t\t\t\tS/. 699" "\r\n\t\t\t\t\tS/. 1,099" "\r\n\t\t\t\t\tS/. 1,899"
[17] "\r\n\t\t\tS/. 1,499"
但我得到了这个结果:
a)清单,
b)有些在列表的元素中包含“character(0)”。
我不需要列表,而是一个向量,作为数字(as.numeric()):
[[1]]
character(0)
[[2]]
[1] "9,999"
当尝试更具体时,使用“^”,我只得到一个包含“character(0)”的列表:
代码:
precios <- str_extract_all(tvs_prices, "^[0-9]*\\,[0-9]*\\.?[0-9]*$")
For all the elements in the list (i don't need a list but a vector):
[[1]]
character(0)
[[2]]
character(0)
等原始载体上的所有元素......
答案 0 :(得分:0)
这个正则表达式提取一个数字:
\d*(?:,\d{3})*(?:\.\d{2})?