Как я могу удалить определенные элементы из текста? - PullRequest
0 голосов
/ 08 июня 2019

Я копаюсь в серверной разработке (как дизайнер пользовательского интерфейса) и хотел попрактиковаться в том, что я узнал, используя cheerio, запрос и экспресс для очистки астрологического сайта для абзаца текста.С этого сайта я перетаскиваю выбранные данные на свой сервер и передаю их клиенту - что успешно.Проблема, с которой я столкнулся, заключается в том, что на сайте астрологии Дата и Чтение астрологии находятся в одном теге абзаца, и я не могу их разделить.Выглядит это так:

7 июня 2019 г .: Сегодня великий день, чтобы испытать новые вещи - они должны быть такими же пешеходными, как и новые хлопья для завтрака [...]

Изначально я думал об использовании метода замены, но вместо этого двигался в направлении метода подстроки.Мои мысли заключались в том, что я мог установить начальное значение равным 12, и в этом случае это было бы минимумом символов в дате.Затем я мог бы заменить любые пробелы, которые встречаются перед первым символом чтения (в данном случае, «Сегодня»).Проблема в том, что если на текущий день есть 2 цифры, я рискую удалить первый символ из чтения.

Это логика, с которой я должен поиграть, или есть более простой метод, который я мог бы использовать

Ответы [ 2 ]

1 голос
/ 08 июня 2019

Вы можете просто разделить значения по первым :

let str = `Jun 7, 2019: Today is a great day to experience new things—they should be both as pedestrian as a new breakfast cereal [...]`
let str2 = `Jun 17, 2019: Today is a great day to experience new things—they should be both as pedestrian as a new breakfast cereal [...]`

let dateAndInfo = (str) =>{
  return str.split(/(^[^:]+):/).filter(Boolean).map(e=>e.trim())
}

console.log(dateAndInfo(str))
console.log(dateAndInfo(str2))
0 голосов
/ 08 июня 2019

Используйте метод substr в сочетании с методом indexOf, который найдет индекс первого символа «:». Начните с местоположения «:» и извлеките оставшуюся строку.

finalStr = str2.substr(str2.indexOf(":") + 1)
//returns everything after the ":" at the end of the date string.
...