タグ

文字列に関するtoshi3221のブックマーク (2)

  • 半角か全角か調べる方法 - J備忘録

    半角文字か全角文字かを判断する正規表現です。 strが半角を含む場合、マッチします /[ -~。-゜]/ =~ str strが全角を含む場合、マッチします /[^ -~。-゜]/ =~ str どういう仕組みになっているのか? 基的には両方共同じ正規表現です。 「strが半角を含むか?」と言うことをチェックしています。 まず、半角と名の付くものは半角英数字、半角記号、半角カタカナの3種類があります。 半角英数、半角記号は「ホワイトスペース」から始まり、「チルダ」で終わります。 半角カタカナは「句点」から始まり、「半濁点」で終わります。 なので、「 」から「~」と「。」から「゜」が半角の範囲になります。 Ruby的には「 [ 」と「 ] 」で挟むと文字クラスを表すので、[ -~。-゜]と書くと半角文字のどれか、となります。 逆に全角を表す場合は、文字クラス内で否定を表す「^」を頭につけれ

    半角か全角か調べる方法 - J備忘録
    toshi3221
    toshi3221 2011/10/17
    正規表現によって全角が含まれるか、半角が含まれるか判定
  • ランダムな文字列(ruby) - みたにっき@はてな

    「会議スケジュール調整支援ツール」なるものを公開してから3年弱経ちます。 最近は自分で使う機会があまりなかったので、しばらく放置状態だったのですが、ふとログを見てみたら使用された会議件数は800弱、のべ使用人数は5000名ほどでした。多くの方に使っていただけているようで嬉しい限りです。 このツールには、登録時にパスワードの入力を求めているのですが、冷静に考えるとパスワードはランダムに生成すれば十分で、登録者に何か入力してもらう必要はなかったな。ということで、ちょっと手を加えてパスワードは自動生成するように変更しました。 さて、ここで問題になるのがどうやってランダムな文字列を生成するか。 自分で考えてもよいのですが、どこかにサンプルコードがあるだろうな、と思って検索して見つけたのが以下の2行。 a = ('a'..'z').to_a + ('A'..'Z').to_a + ('0'..'9'

    ランダムな文字列(ruby) - みたにっき@はてな
  • 1