Строка кажется одним пробелом, но не - PullRequest
1 голос
/ 16 апреля 2020

Я занимаюсь поиском в сети, используя rvest, и я наткнулся на что-то странное. Есть строка, которая выглядит как " ", но это не так. Я воспроизвел это на двух компьютерах: система Ma c OSX с R 3.6.3 и система Windows 10 с R 3.6.3.

library(rvest)
library(stringr)
# scrape website, no issue
webpage <- rvest::read_html("https://www.usms.org/longdist/ldnats00/1hrf4044.php")
html <- rvest::html_nodes(webpage, css = "td")
results <- rvest::html_text(html)
# cleaning results a bit, no issue
results <- stringr::str_replace(results, "\\\r\\\n", "")
results <- results[results != ""]
# the mystery string
results[605]
[1] " "

Если сравнить results[605] с " ", или с результатом копирования и вставки печати results[605]

results[605] == " "
[1] FALSE

Если я сохраню results[605] в значении

string_605 <- results[605]
string_605
[1] " "
results[605] == string_605
[1] TRUE
string_605 == " "
[1] FALSE

Так же, как проверка работоспособности

" " == " "
[1] TRUE

Что это за загадочная строка и как мне соответствовать ей? Я хотел бы избавиться от этого, как results <- results[results != mystery string]

1 Ответ

2 голосов
/ 16 апреля 2020

Строка здесь <U+00A0>

Мое решение всегда пытаться clipr::write_clip(results[605]) и вставить в любое место. Затем вы можете увидеть код этой строки также можно вставить в Google для поиска:)

После того, как вы можете сделать это results <- results[results != '\U00A0']

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...