タグ

文字列処理に関するt-murachiのブックマーク (6)

  • trimやstripが全角スペースをトリミングしない理由で盛り上がったのでまとめてみた - Qiita

    はじめに RubyのString#stripが全角スペースをトリミングしてくれないことにこの間初めて気づきました。 そこでフィヨルドブートキャンプのSlackで質問してみたところ、結構盛り上がったので記事にまとめます。 編 自分で調べたこと まず自力で調査したことをまとめます。 Javaのtrimメソッド Javaのtrimのロジックは「\u0020(半角スペース)の文字コードより大きいか小さいか」が判断基準になっています。 ただ、それが他の言語の場合同様のロジックで実装されているのかまではわかりませんでした。 RubyのString#strip(Cのコード) 前後のオフセット値を算出してそれを利用して前後のスペースのトリミングを実現しています。 ただ、C力が圧倒的に足りないのでどういうロジックでそのオフセット値を算出しているかまではわかりませんでした。 追記 RubyRuby実装、R

    trimやstripが全角スペースをトリミングしない理由で盛り上がったのでまとめてみた - Qiita
    t-murachi
    t-murachi 2019/06/20
    そもrubyよりUnicodeの方が後発なんですよね… やるとしたら他の言語でもそうであるようにUnicode対応に伴う国際化対応の一環での機能追加でしょうし、そのために既存の関数の挙動を変えることはしないでしょ(´・ω・`)
  • オンプレDB、PerlのAIフレームワーク――ウェザーニューズが追求する「開発者とユーザー双方が幸せになれる技術」 | HRナビ by リクルート

    「TensorFlow」をはじめとするAIフレームワークや、Pythonで提供されている多くのライブラリにより、AIサービス制作・参入ハードルが下がっている。一方で、こうしたサービスを使わずに、あえて「必要なツールはほぼ自作」という選択をしているのがウェザーニューズだ。 同社のAIイノベーションセンターに所属するエンジニアの萩行正嗣(はんぎょう・まさつぐ)さんに、気象サービスでのAI活用事例と、「ユーザーと開発者のどちらの幸せも追い求める」開発哲学を伺った。 AIを使い、気象情報を早く正確に伝える ――まず、どのようなサービスでAIを活用されているのか教えてください。 私たちは特定のサービスだけにAIを使っているわけではありません。ウェザーニューズが提供するサービスはいずれも「気象情報を正確に伝える」ためのもの。天気予報自体にAIが活用されているので、すべてのサービスにAIが使われていると

    オンプレDB、PerlのAIフレームワーク――ウェザーニューズが追求する「開発者とユーザー双方が幸せになれる技術」 | HRナビ by リクルート
    t-murachi
    t-murachi 2018/03/23
    「Perlの正規表現検索では日本語のUnicodeブロックが使えますし」この辺なかなか余所の言語では対応して貰えんのよね(´・ω・`)定義済み文字クラスでひらがな・カタカナ・句読点なんかを切分けできるの結構便利なんだが…
  • Java8時代の文字列連結変態さんまとめ - きしだのHatena

    いろいろな文字列連結のコードを書いた人がいたのでまとめておきますね。 主に変態さん。 とりあえず、基準として、メモリ確保したStringBuilder版 public static String stringBuilderJoinMem(){ StringBuilder s = new StringBuilder(9100).append("["); for(int i = 0; i < strarray.length; ++i){ if(i != 0){ s.append("],["); } s.append(strarray[i]); } s.append("]"); return s.toString(); } 1037ms ということで、まずはbackpaper0さん。比較的常人のコード。 https://gist.github.com/backpaper0/10273558 pu

    Java8時代の文字列連結変態さんまとめ - きしだのHatena
    t-murachi
    t-murachi 2014/04/14
    「性能面でセンシティブな場面で String を使うことを考えるな。CharBuffer 使え。」
  • split の研究 - bkブログ

    split の研究 split 関数の挙動が言語ごとに微妙に異なると知人と話題になったので調べてみました。結果はまとめをどうぞ。 Ruby まずはRubyから調べてみます。irb を使って調べました。 % irb ... まずは普通に分割 >> "a,b,c".split(",") => ["a", "b", "c"] 末尾に空要素があると、省略されてしまう >> "a,,c,,".split(",") => ["a", "", "c"] 末尾の空要素を省略しないためには -1 が必要 >> "a,,c,,".split(",", -1) => ["a", "", "c", "", ""] 空文字列だと結果も空 >> "".split(",") => [] -1 をつけても同様 >> "".split(",", -1) => [] 分割パターンを指定しない場合も同様 >> "".split

    t-murachi
    t-murachi 2011/03/08
    へぇ、js も空文字列の split は空文字列入りの配列を返すのか。知らんかった…。
  • letsboost::spirit

    abstract 必要なヘッダ <boost/spirit/include/qi.hpp> 構文解析の基機能, <boost/spirit/include/phoenix.hpp> SemanticAction記述用ライブラリPhoenix, <boost/spirit/include/karma.hpp> 文字列生成の基機能, ..., <boost/spirit/include/classic.hpp> 旧バージョン(Spirit v1)のAPI 出来ること 字句解析/構文解析(LL∞)/文字列化 リファレンス en / jp sample サンプルの動作確認バージョン [GCC4.4/1.41.0] [VC9/1.41.0] #include <iostream> #include <string> #include <vector> #include <boost/fusion

    t-murachi
    t-murachi 2010/12/29
    humm... otoco はこいつ使って作ろうかなぁ…
  • 講義資料 配列解析アルゴリズム特論I 情報生命科学基礎/演習 他 -渋谷哲朗

    平成20年度 東京大学大学院 情報理工学系研究科・コンピュータ科学専攻 配列解析アルゴリズム特論I 4/10 4/17 4/24 5/1 5/8 5/15 5/22 5/29 (The problem to be reported - in English) 6/5 6/12 6/19 7/3 7/10 7/17 東京大学 理学部・情報科学科 情報科学特別講義3 (情報科学とバイオインフォマティクス) 6/10 7/15 7/22 東京大学大学院 新領域創成科学研究科・情報生命科学専攻 情報生命科学基礎/演習 5/27 6/17 京都大学大学院 薬学研究科・医薬創成情報科学専攻 情報科学概論 6/3 中央大学大学院 理工学系研究科・物理学専攻 物理学特別講義第二 TBA 創価大学工学部 生命情報工学科 TBA TBA 戻る Copyright (c) 2004- Tetsuo

    t-murachi
    t-murachi 2008/09/20
    プレゼン資料だからなぁ。本気で習得するならもっとちゃんとした教科書を探した方が良いかも。
  • 1