3

我正在从服务器调用字符串列表。

目前我得到全名和文件扩展名,如:

图片1.jpg

图像2.png

test_folder.folder

我有一些代码依赖于知道扩展名是什么,但是我还需要访问我在没有扩展名的情况下选择的项目的名称。

到目前为止,我的两次尝试如下:

_clickedFolder = listBox1.SelectedItem.ToString() - "folder";
_clickedFolder.Trim(new Char[] { '.folder' });

但这些都不起作用。

什么是删除文件扩展名并只显示文件名的正确方法?

4

3 回答 3

16

使用Path类:

string fnWithoutExtension = Path.GetFileNameWithoutExtension(path);

或者

string extension = Path.GetExtension(path);
于 2013-09-03T21:57:44.567 回答
3

你可以试试这个:

string name = "set this to file name";
name = name.Substring(0,name.LastIndexOf('.'));
于 2013-09-03T21:59:50.443 回答
0

尝试这个;

    private void listBox1_SelectionIndexChanged(object sender,EventArgs e)
    {
    string item = listBox1.SelectedItem.ToString();
    int index = item.LastIndexOf('.');
    if (index >= 0)//It's a valid file
    {
        string filename = item.Substring(0, index );
        MessageBox.Show(filename);
    }
    else if (index == -1)//Not a valid file
    {
        MessageBox.Show("The selected file is invalid.");
    }
    }
于 2013-09-03T22:01:03.347 回答