You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

R语言数据处理:如何从价格字符串中提取纯数字?

提取价格列中的纯数字解决方案

你的问题出在str_split的使用上:这个函数会把每个价格字符串拆分成列表,直接放进数据框会变成列表类型的列,而且你的拆分规则只针对泰语字符([ก-๙]+),没处理฿、空格这些非数字符号,导致拆分后还是混有无关内容。

推荐两种更直接的方法提取纯数字:

方法1:移除所有非数字字符

用str_remove_all删掉价格字符串里所有不是数字的内容,再转成数值型:

library(rvest)
library(tidyverse)

url <- "https://fitwhey.com/"

brans <- url %>%
  read_html() %>%
  html_elements("span.p-name") %>%
  html_text2()

price <- url %>%
  read_html() %>%
  html_elements("span.p-sale-price") %>%
  html_text() %>%
  # 移除所有非数字字符
  str_remove_all("[^0-9]") %>%
  # 转成数值型
  as.numeric()

rank_seller <- url %>%
  read_html() %>%
  html_elements("span.number") %>%
  html_text2()

df <- data.frame(rank_seller, brans, price)

方法2:直接提取数字部分

用str_extract匹配并提取字符串中的连续数字序列:

price <- url %>%
  read_html() %>%
  html_elements("span.p-sale-price") %>%
  html_text() %>%
  # 提取连续的数字
  str_extract("\\d+") %>%
  as.numeric()

两种方法都能把เริ่มต้นที่ : ฿ 675转换成纯数字675,而且得到的是数值型列,方便后续分析。

内容的提问来源于stack exchange,提问作者PPAu

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 02:37:18