Open1
飲んだ薬の量をLINEのチャットに投稿すると、集計してくれるスクリプト(js)
投稿
痛み止め1錠
AAA 2錠
BBB 半錠
CCC 1.5錠
などとlineに投稿する
export
LINEのchatをtxt形式でexportしてファイルを開き、ファイル全体をクリップボードにコピー
集計
以下にペーストして実行
薬名は、適宜変更する
以下をbrowserの検証ツールを開くなどして実行
const rawString = `ここにペースト`
const rawData = rawString.split("\n")
function organizeData(data) {
const organizedData = {};
let currentKey = '';
for (let i = 0; i < data.length; i++) {
const entry = data[i];
if (entry.match(/^\d{4}\.\d{2}\.\d{2} \w+day$/)) {
currentKey = entry;
organizedData[currentKey] = [];
} else if (currentKey) {
organizedData[currentKey].push(entry);
}
}
return organizedData;
}
function countOccurrences(organizedData) {
const counts = {};
for (const key in organizedData) {
let count = 0;
organizedData[key].forEach(entry => {
const match = entry.match(/薬名.*(\d+(\.\d+)?|半)錠/);
if (match) {
count += match[1] === '半' ? 0.5 : parseFloat(match[1]);
}
});
counts[key] = count;
}
return counts;
}
const organizedData = organizeData(rawData);
const counts = countOccurrences(organizedData);
console.log(counts);
結果
このように出力