在Haskell中,如何获取没有文件扩展名的文件名?

问题描述:

说我有一个文件名(字符列表):在Haskell中,如何获取没有文件扩展名的文件名?

"myfile.xml" 

我如何获得:

"myfile" 

+0

难道你不是指除最后一个*四个元素之外的所有元素吗? –

如果你想删除这个分机,我建议使用像System.FilePath.Posix库:

import System.FilePath.Posix(takeBaseName) 

然后你可以使用takeBaseName函数来获取文件名的基本部分:

Prelude> import System.FilePath.Posix(takeBaseName) 
Prelude System.FilePath.Posix> takeBaseName "myfile.xml" 
"myfile" 

该解决方案效果更好,因为它也可以在"file.gz""foo.7z"上运行。