文字列を操作するタイプのシンプルなUserScriptの書き方
選択した文字に鉤括弧を付けるボタンとか、そういうのを作れる
編集効率化
基本的にまずこういうのを自分のページにコピペする
code:script.js
scrapbox.PopupMenu.addButton({
title: 文字列,
onClick: text => 関数
})
code:js
text => {};
こういうのアロー関数という。「アロー関数 JavaScript」でググってみよう おまけ
変数の名前がtextである必要はない。kotobaとかでもいい。でもtextがいいと思う
code:js
kotoba => {};
肉付けしてみよう
code:js
text=>{
return text
};
textを受け取ってそのままtextを返す
ほとんど意味がない
「textを返す」というのは、Scrapboxにtextを入力する、ということに等しい。
もう少し動きをもたせる
code:js
text=>{
return "無"
}
textを受け取って「無」を返す
https://gyazo.com/c498b4a0084a0abc771a44e52cb042bc
無になる
どんなテキストを選択しても、元のテキストはすべて削除され、代わりに「無」が入力される
もうすこし生産的なことをしてみる
code:たぬき.js
text => {
return text.replaceAll("た", "")
}
textを受け取って、そのtextに含まれる「た」という文字を「」に変換したうえで、その加工後の文字列を返す
「」に変換されるということは、実質、その文字が削除されるということ
https://gyazo.com/ec749c0902ae950b97f4ed1f10d60d98
正規表現を使う
code:js
text => {
return text.replace(/.*:\s/g,"")
}
textを受け取って、そこに含まれる、あるパターンを持った文字列を「」に変換したうえで、その加工後の文字列を返す。ここでのそのパターンとは、「任意の文字が0個以上並んだ直後に「:」が置かれその直後にスペースが置かれる」というものである。