入力された文章を以下のように変更したい
- 特定の文字の後で改行を入れる
- 特定の文字を削除する
- 特定の文字を別の文字に置換する
作ったもの
デモ(Apps Script)
https://script.google.com/macros/s/AKfycbxtOVIOMDb1mVUV5UvljHytpHrqwHAVrdvLyUxf5TOIoSq_nbOb/exec
コード.gs
function doGet() {
return HtmlService.createHtmlOutputFromFile("index");
}
|
意訳この機能がやること 指定したHTMLファイルを表示する |
index.html
<!DOCTYPE html>
<html>
<head>
<style>
.ta {
width: 360px;
height: 120px;
}
</style>
</head>
<body>
<textarea id="ta" class="ta"></textarea>
<br>
<input type="text" id="tb" class="tb">を
<button id="break_bt">直後で改行する</button>
<button id="delete_bt">削除する</button>
<br>
<input type="text" id="tb2" class="tb">に
<button id="replace_bt">置換する</button>
<br>
<textarea id="result" class="ta"></textarea>
<script>
var tb = document.getElementById("tb");
var tb2 = document.getElementById("tb2");
var ta = document.getElementById("ta");
var result = document.getElementById("result");
var break_bt = document.getElementById("break_bt");
var delete_bt = document.getElementById("delete_bt");
var replace_bt = document.getElementById("replace_bt");
break_bt.onclick = run;
delete_bt.onclick = run;
replace_bt.onclick = run;
ta.focus();
function run(){
var flag = this.id;
var after = get_after(flag);
var pattern = new RegExp(tb.value, "g");
result.value = ta.value.replace(pattern, after);
}
function get_after(flag){
var after = "";
switch(flag){
case "break_bt":
after = tb.value + "\n";
break;
case "delete_bt":
after = "";
break;
case "replace_bt":
after = tb2.value;
break;
}
return after;
}
</script>
</body>
</html>
|
意訳taのスタイル 幅 高さ 入力用のテキストエリア 改行、削除、置換対象の文字を入れるテキストボックス 改行ボタン 削除ボタン このテキストボックスに入力した文字に置き換える 置換ボタン 結果を出力するテキストエリア idがtbの要素を取得 idがt2の要素を取得 idがtaの要素を取得 idがresultの要素を取得 idがbreak_btの要素を取得 idがdelete_btの要素を取得 idがreplace_btの要素を取得 break_btがクリックされたらrunを実行する delete_btがクリックされたらrunを実行する replace_btがクリックされたらrunを実行する taをフォーカスする この機能がやること クリックされたボタンのidを取得して get_afterに渡して結果を得る 正規表現でパターンを作成して 置換して出力する この機能がやること afterの入れ物を作って 渡されたflagによってafterに入れる値を変える break_btの場合 afterにtb.value + 改行を入れる delete_btの場合 afterには何も入れない replace_btの場合 afterにtb2.valueを入れる afterに入れた値を返す |
