OCRしたテキストを整形
するscript
OCRをかけたとき、不自然な空白が挟まってしまうことがある。それを取り除くためのscript やること
全角文字の間に挟まっている空白を取り除く
末尾の空白を消す
半角英数で囲まれている空白は無視する
code:script.js
export function tidy(text, {removeBracket = false} = {}) {
const tidied = text
.split(/\n\r?|\r?\n|\f/g)
.flatMap(line => /^\s*$/.test(line) ? [] : [
line
.replace(/(?<!\w)\s+(?=\W)/g, '')
.replace(/\s+$/, '')
])
.join('\n');
return removeBracket ? tidied.replace(/\[(^\]+)\]/g, ' $1 ') : tidied; }
code:script.d.ts
export function tidy(text: string, option: {removeBracket: boolean}): string;
その時に使う
code:js
scrapbox.PopupMenu.addButton({
title: "reverse",
onClick: (text) => text.split("\n").reverse().join("\n"),
});