今日のお勉強
今日覚えたっぽいことを2つほどメモ。。
どっちも感動したよ!!(何
replace()の$を使ってみる
やりたかった事的には、「文章を、区切り文字(複数種類ある)を残したまま区切る」という正規表現を使った文字分割だったのですが、
区切り文字を消さない方法が思いつきませんでした。
そこで思い至ったのが、じゃあ区切り文字に区切り文字をつけて区切ればいいんだ!
という文にするとなんだかわからないようなことでした。
やり方的には、
"区切りたい文字列".replace((正規表現),"$1区切り文字");
こんな感じです。
$1というのは、「()」の1個目、とかいう意味らしい。。
例えば「、」と「。」で区切りたいけど、消したくないという時は、
var replace_string = "ほげ、ふがふが。ほげ、ふが。".replace(/([。、])/g, "$1仮区切り文字"); var array_word = replace_string.split("仮区切り文字"); console.log(array_word);
上記のようにすると、下記のように区切り文字を残したまま区切られる、と!
出力結果:
["ほげ、", "ふがふが。", "ほげ、", "ふが。", ""]
これ便利ですね・・
まだ$を使った全部の方法は試してませんが、これだけできただけでも感動しました。。
ちなみにPHPでも出来るとのこと。
http://docs.php.net/manual/ja/function.preg-replace.php
に確かに書いてありました・・。
もし使う機会があれば使ってみたいですね♪
参考サイト:
http://1106.suac.net/johoB/JavaScript/jscripts.html#string
のreplace()の項目
align-regexpを使ってみる
これはid:HaSUmiさんから質問をうけて探した結果みつけたものなのですが、(id:HaSUmiさんありがとうございました!)
選択範囲して M-x align-regexp 指定文字 とすると、その指定文字で縦列を揃えてくれます!
例:
↓
これを選択範囲で M-x align-regexp[RET]:[RET]
↓
こんな感じです!
なんだかymlファイルとかで無駄に使ってしまいそうw
見やすくする為にはとても便利なものだと思いました。
他にもalign-〜ってコマンドがいくつかあったのですが、他はどういう挙動をするのかちょっと気になる所。。
揃える系で何か面倒な事態にであったら、みてみたいと思いました♪