Muni Bus

パソコンの操作方法や設定方法を忘れないようにメモしています。ブログを一回引っ越ししているので、所々表示がかなり乱れています・・・

【PowerShell】正規表現を使用してファイル名を表す文字列から拡張子を取り除く

以下、拡張子が0~4個あるファイル名を表す文字列から、拡張子だけを取り除いた例。

PS > $s = "和多田.txt", "和多田.美咲.txt"
PS > $s += "和多田.美咲.メイショウドトウ.txt"
PS > $s += "和多田.美咲.メイショウドトウ.かわいい.txt"
PS > Write-Output $s  # オリジナルの文字列
和多田.txt
和多田.美咲.txt
和多田.美咲.メイショウドトウ.txt
和多田.美咲.メイショウドトウ.かわいい.txt
PS > $s -replace "\.[^\.]+$", ""  # 拡張子を1個だけ取り除く
和多田
和多田.美咲
和多田.美咲.メイショウドトウ
和多田.美咲.メイショウドトウ.かわいい
PS > $s -replace "\..+$", ""  # 拡張子をすべて取り除く
和多田
和多田
和多田
和多田
PS > $s -replace "(\.[^\.]+){1,3}$", ""  # 拡張子を1~3個取り除く
和多田
和多田
和多田
和多田.美咲
PS > $s -replace "(\.[^\.]+){2}$", ""  # 拡張子を2個以上あるものは拡張子を2個取り除く
和多田.txt
和多田
和多田.美咲
和多田.美咲.メイショウドトウ
PS > $s -replace "(\.[^\.]+){2,}$", ""  # 拡張子が2個以上あるものは拡張子をすべて取り除く
和多田.txt
和多田
和多田
和多田