“[]”で囲われた文字列だけ抜き出したいな〜という処理があったので、Scalaで書いてみました。この手のってたぶんPerlとかRubyとかで書くのが王道なんでしょうけど、あいにく私はPerlもRubyもどっちも好きじゃ無いんですよ。
やりたいことの例としては、
[xxx][yyy]…………
と言った文字列の時に、「xxx」、「yyy」だけ抜き出したいと言うことですねっ。
1 2 3 4 5 6 7 8 9 |
import util.parsing.combinator._ object Main extends RegexParsers { def parse(str:String) = parseAll(rep("[" ~> "[^\\[\\]]+".r <~ "][^\\[\\]]*".r) ,str).get def main(args: Array[String]) = { println(parse("[グルメ]aa[ラーメン]喜多方ラーメン試食しました")) } } |
実質的には1行で済んでますね。Javaだとこうはいかないでしょう。これでもScalaのパーサーコンピネーター、使っております。
パースの結果はリストで得られております。
1 2 |
$ scala Main.scala List(グルメ, ラーメン) |
どうすか、Scala使ってみたくなりましたん?
埋め込みPDFを表示させるプラグインを導入しましたので、PDFの表示が自由自在です。弊社の会社概要の最新版が必要になったので、InDesignでぱぱっと作ってみました。
会社概要の変更点
- InDesignを使って作り直した(これまではイラストレーター使用)
-
Scala言語推しなのを前面に押し出して改変
-
社員猫の写真を追加<(_ _)>
-
著書リストの更新
最近のコメント