アプリ版:「スタンプのみでお礼する」機能のリリースについて

現在rubyでファイルパスからファイル名を取得したいと思っています。
具体的には"public/foror/filename"というstringがあったとして、このfilenameを取り出したいのです。
なので末尾から検索して最初に/が一致するまでの文字を取り出すという処理を書けばいいと考えて、下記のようなプログラムを書きましたが、うごきません。
p filepath[\/.*$]

rubyも正規表現も初心者なので、色々と間違っているところがあるとおもいますが、なにかお気づきになった点がございました、ご指摘いただけると幸いです。

A 回答 (1件)

正にそのものという機能でFile.basenameというのがあります。



filepath = "public/foror/filename"

p File.basename(filepath) #=> "filename"



また正規表現リテラルは両端をスラッシュで囲む必要がありますね。

p filepath[/[^\/]+$/] #=> "filename"




下記マニュアルを参照してみてください。

Fileクラスマニュアル
http://doc.ruby-lang.org/ja/1.9.3/class/File.html

正規表現リテラル
http://doc.ruby-lang.org/ja/1.9.3/doc/spec=2flit …
    • good
    • 0
この回答へのお礼

このやり方でやればうまくいきました。
また色々リンクを教えていただきありがとうございます。

お礼日時:2012/05/24 18:18

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!