У меня есть несколько фильтров регулярных выражений, которые я хочу запустить для файла .txt в узле.Я читаю файл, затем устанавливаю содержимое как переменную, затем я хочу проанализировать содержимое с помощью регулярных выражений, чтобы удалить все недопустимые символы.
Первоначально я пытался использовать один из найденных мною узлов Node, который мог это сделать,звонил https://www.npmjs.com/package/clean-text-utils - Однако, похоже, он нацелен на Typescript, и я не смог заставить его работать с Node 8.10.Поэтому я покопался в node_module, чтобы найти соответствующий JS, чтобы попытаться заменить недопустимые символы с помощью функции.
Как я могу запустить все фильтры регулярных выражений для переменной myTXT?На данный момент он просто выводит текст с неверными апострофами, отличными от ASCII.
var myTXT;
...
const readFile = util.promisify(fs.readFile);
await readFile('/tmp/' + myfile, 'utf8')
.then((text) => {
console.log('Output contents: ', text);
myTXT = text;
})
.catch((err) => {
console.log('Error', err);
});
var myTXT = function (myTXT) {
var s = text
.replace(/[‘’\u2018\u2019\u201A]/g, '\'')
.replace(/[“”\u201C\u201D\u201E]/g, '"')
.replace(/\u2026/g, '...')
.replace(/[\u2013\u2014]/g, '-');
return s.trim();
};
console.log('ReplaceSmartChars is', myTXT);
Вот пример проблем с апострофами, вызванных копированием текста с веб-страницы и вставкой в файл .txt.также отображается в PasteBin:
Resilience is what happens when we’re able to move forward even when things don’t fit together the way we expect.
And tolerances are an engineer’s measurement of how well the parts meet spec. (The word ‘precision’ comes to mind). A 2018 Lexus is better than 1968 Camaro because every single part in the car fits together dramatically better. The tolerances are more narrow now.
https://pastebin.com/uJ7GAKk4
Скопирован из следующего URL и вставлен в Блокнот и сохранен
https://seths.blog/storyoftheweek/