Добавьте условный пробел после специального символа и N дополнительных символов - PullRequest
0 голосов
/ 10 января 2019

Очистка следующих данных веб-соскоба и получение векторов без правильного расстояния в согласованных местах:

"SharePriceNAVPremium / Discount" "Текущий $ 21,26 $ 20,901,72%" "52 Wk Avg $ 24,41 $ 23,245.05%" "52 Wk High $ 28,00 $ 25,0518,09%"
"52 Wk Low $ 18,52 $ 19,11-4,92%" ""

Я пытаюсь сделать так, чтобы данные выглядели так:

"SharePrice NAV Premium / Discount" "Текущий $ 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 = "")
...