ファイルのパスからファイル名を取得するには (basename)

ファイルパスからファイル名の部分を取り出す方法。

ディレクトリの部分を取り出す方法はdirname

拡張子を取り出す方法はextname

Java

import java.io.File;

public class Test {

    public static void main(String[] args) {
        System.out.println(basename("/aaa/bbb"));
        // => bbb
        System.out.println(basename("/aaa/"));
        // => aaa
        System.out.println(basename("/aaa"));
        // => aaa
        System.out.println(basename("aaa"));
        // => aaa
    }

    private static String basename(String path) {
        File file = new File(path);
        return file.getName();
    }

}

PHP

echo basename("/aaa/bbb"); # => bbb
echo basename("/aaa/");    # => aaa
echo basename("/aaa");     # => aaa
echo basename("aaa");      # => aaa

basename 関数 | PHP Manual
http://php.net/manual/ja/function.basename.php

Python

import os

print os.path.basename(path)

Ruby

p File.basename("/aaa/bbb") # => "bbb"
p File.basename("/aaa/")    # => "aaa"
p File.basename("/aaa")     # => "aaa"
p File.basename("aaa")      # => "aaa"

dirname の情報も必要であれば、それらを同時に取得できる File#split というのもある。

p File.split("/aaa/bbb") # => ["/aaa", "bbb"]
p File.split("/aaa/")    # => ["/", "aaa"]
p File.split("/aaa")     # => ["/", "aaa"]
p File.split("aaa")      # => [".", "aaa"]

Perl

use File::Basename qw/basename/;

print basename("/aaa/bbb") . "\n"; # => bbb
print basename("/aaa/") . "\n"; # => aaa
print basename("/aaa") . "\n"; # => aaa
print basename("aaa") . "\n"; # => aaa

sh (シェルスクリプト)

basenameコマンドは引数で与えられたパスのファイル名の部分を標準出力に出力する。

basename /aaa/bbb # => bbb
basename /aaa/    # => aaa
basename /aaa     # => aaa
basename aaa      # => aaa
このサイトは筆者(hydrocul)の個人メモの集合です。すべてのページは永遠に未完成です。