在特殊字符和N个其他字符之后添加条件空格

时间:2019-01-10 17:08:05

标签: r data-cleaning stringr stringi

清理以下网页抓取的数据,并在一致的位置获得没有适当间距的向量:

“ SharePriceNAVPremium / Discount”“当前$ 21.26 $ 20.901.72%”“ 52周平均$ 24.41 $ 23.245.05%”“ 52周最高$ 28.00 $ 25.0518.09%”
“ 52周最低价$ 18.52 $ 19.11-4.92%”“”

我正在尝试使数据看起来像这样:

“ SharePrice资产净值溢价/折让”“当前$ 21.26 $ 20.90 1.72%”“ 52WkAvg $ 24.41 $ 23.24 5.05%”“ 52WkHigh $ 28.00 $ 25.05 18.09%”
“ 52WkLow $ 18.52 $ 19.11 -4.92%”

我遇到的问题是如何在“ $”加4个数字之后有条件地添加空格(因为这似乎是此处使用的一致价格惯例)。

尝试了str_pad和str_replace_all并没有获得普遍成功。任何帮助表示赞赏!

这是我的剧本:

library(rvest)
library(stringr)

CEF_Page <- read_html("https://www.cefconnect.com/fund/JLS")

test9 <- CEF_Page %>%
        html_nodes("#ContentPlaceHolder1_cph_main_cph_main_SummaryGrid") %>% 
        html_text() %>%
        strsplit(split = "\n") %>%
        unlist() %>%
        .[. != " "]


test9 <- str_replace_all(test9,pattern = "\t", replacement = "") 
test9 <- str_replace_all(test9,pattern = "\r", replacement = "")

0 个答案:

没有答案