Regex удаляет определенные строки

У меня есть файл csv, в котором есть несколько строк, содержащих :. Мне нужно полностью удалить эти строки. Это то, что я делал до сих пор.

var array = fs.readFileSync('../list/fusion.csv').toString();
var pattern = /^\:/gm;
var best = array.replace(pattern, '');

fs.writeFile('../list/full.csv', best, function (err) {
 if (err) return console.info(err);
});

Пытаюсь заменить : на пробел. Мой шаблон работает в regex101, но когда я запускаю код, ничего не происходит.

Что именно происходит? Вы говорите «ничего не происходит». Как вы выполнили программу?

Andy Lester 08.09.2018 18:26
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
Улучшение производительности загрузки с помощью Google Tag Manager и атрибута Defer
В настоящее время производительность загрузки веб-сайта имеет решающее значение не только для удобства пользователей, но и для ранжирования в...
Безумие обратных вызовов в javascript [JS]
Безумие обратных вызовов в javascript [JS]
Здравствуйте! Юный падаван 🚀. Присоединяйся ко мне, чтобы разобраться в одной из самых запутанных концепций, когда вы начинаете изучать мир...
Система управления парковками с использованием HTML, CSS и JavaScript
Система управления парковками с использованием HTML, CSS и JavaScript
Веб-сайт по управлению парковками был создан с использованием HTML, CSS и JavaScript. Это простой сайт, ничего вычурного. Основная цель -...
JavaScript Вопросы с множественным выбором и ответы
JavaScript Вопросы с множественным выбором и ответы
Если вы ищете платформу, которая предоставляет вам бесплатный тест JavaScript MCQ (Multiple Choice Questions With Answers) для оценки ваших знаний,...
0
1
37
2
Перейти к ответу Данный вопрос помечен как решенный

Ответы 2

Если вы хотите удалить строки, содержащие :, вы должны указать флаг m, чтобы позволить ^ соответствовать началу каждой строки, а не только ее началу. Ваш шаблон также должен соответствовать всей строке, а не только :.

Изменять:

var pattern = /^\:/g;

к:

var pattern = /^.*?:.*?$/gm;

Что ж, благодаря вам теперь он распознает '': '', и я смог заменить его пробелом. Но как полностью удалить эти строки? Которая теперь содержит несколько пробелов.

Vil4nte 08.09.2018 17:55

Я обновил свой ответ, чтобы разрешить удаление всех строк.

blhsing 08.09.2018 17:57
Ответ принят как подходящий

Вы также можете сделать это, чтобы удалить строку с :. Я добавил демонстрацию, показывающую, как удалить всю строку, содержащую этот ненужный символ :, в вашем файле .csv.

const regex = /^.*(:).*$/gm;
const str = `id,name,age
1,aaboss,11
2,eeboss,18
3,:ddboss,15
4,ccboss,14
:5,aboss,13
6,boss,12
7,boss,100:
8,boss,12
`;
const subst = ``;

// The substituted value will be contained in the result variable
// using replace again to remove the empty lines
const result = str.replace(regex, subst).replace(/(^[ \t]*\n)/gm, "");
console.info(result);

РЕГЕКС:https://regex101.com/r/JHeRyl/1

@I '-' Я :) моя плохая. Отредактировано для версии JS :): P. Спасибо :)

Always Sunny 08.09.2018 17:55

Мне не нужны эти пустые строки в моем документе. У меня есть данные до и после этих пустых строк - вот что мне нужно удалить.

Vil4nte 08.09.2018 18:00

@ Vil4nte Я редактировал этого приятеля, посмотри еще раз. :) Надеюсь, это сработает для вас сейчас. :) Дай мне знать, нормально это или нет?

Always Sunny 08.09.2018 18:01

Другие вопросы по теме