→
どうも!LSSです!!
今回は、使いどころのよく分からないツールを作ってみましたw
使い方
テキストファイルの中の特定の文字を、違う文字に変換するツールです。
まず「変換元の文字列」「変換後の文字列」を入力します。
次に、「ファイルを選択」ボタンを押し、お手元の端末内にある対象のテキストファイル(HTMLファイルやSVGファイルやCSVファイルも選択可能です)を選ぶと、即座にそのテキストファイル内に「変換元の文字列」と同じものがあったら全て「変換後の文字列」の内容に書き換えられます!
なお、出力後のファイル名は、元のファイル名の末尾に「_r」が付与された物になります。
例えば…
「変換元の文字列」を「です。」
「変換後の文字列」を「でやんす。」
にして、ですます調で書かれた文章のテキストファイルを読み込むと…なんだか愉快な文章のテキストファイルが出来上がりますw
あるいは、色の指定を「#000」で黒い線を描いているSVGファイルがあったら、
「変換元の文字列」を「#000」
「返還後の文字列」を「#f00」
にして、そのSVGファイルを読み込むと、黒かったSVGファイルが赤くなります。
コード
<p><input id="rpa" type="text" placeholder="変換元の文字列" /> → <input id="rpb" type="text" placeholder="変換後の文字列" /></p>
<p><input id="ftxt" accept="text/*,.svg,.csv" type="file" /></p>
<div id="gtxt"> </div>
<script>// <![CDATA[
rdt=new FileReader();
rdtn='';
ftxt.addEventListener('change',ftxtch,false);
rdt.addEventListener('load',rdtld,false);
function ftxtch(e){
rdt.readAsText(ftxt.files[0]);
rdtn=ftxt.files[0].name;
}
function rdtld(e){
rdtn=rdtn.replace(/\./,'_r\.');
txt=rdt.result;
txt=txt.replace(new RegExp(rpa.value,"g"),rpb.value);
blob=new Blob([txt],{"type":"text/plain"});
a=document.createElement("a");
a.href=URL.createObjectURL(blob);
a.download=rdtn;a.target='_blank';
a.click();
}
// ]]></script>
あとがき
を組み合わせた物を作ってみました。
今回のコードでいうと、
rdt=new FileReader();
rdtn='';
ftxt.addEventListener('change',ftxtch,false);
rdt.addEventListener('load',rdtld,false);
function ftxtch(e){
rdt.readAsText(ftxt.files[0]);
rdtn=ftxt.files[0].name;
}
function rdtld(e){
rdtn=rdtn.replace(/\./,'_r\.');
txt=rdt.result;
txt=txt.replace(new RegExp(rpa.value,"g"),rpb.value);
blob=new Blob([txt],{"type":"text/plain"});
a=document.createElement("a");
a.href=URL.createObjectURL(blob);
a.download=rdtn;a.target='_blank';
a.click();
}
青字部分が「ファイル読み込み」に関連した部分、
オレンジ部分が「ダウンロード」に関連した部分です。(自分用備忘録w)
ってなとこで、今回はこのへんで!
次回もまた、よろしくお願いします^^