截取字符串、文件名、删除工程相对路径只保留文件名(C#)

截取字符串、文件名、删除工程相对路径只保留文件名(C#)

    在我做项目中,遇到这样的一件事,那就是在OpenFileDialog选择文件中,然后我需要获取的是文件的名称而不是文件的相对路径和绝对路径,所以下面我来说说两种简单的编程实现方法。

    第一种是,利用substring函数来截取。

 private void button2_Click(object sender, EventArgs e)
        { 
            OpenFileDialog dlg1 = new OpenFileDialog();
            dlg1.Title = "打开水晶报表文件";
            dlg1.Filter = "水晶报表文件(*.rpt)|*.rpt|所有文件|*.*";
            if (dlg1.ShowDialog() == DialogResult.OK)
            {
                comboBox1.Text = dlg1.FileName;
                string str = comboBox1.Text;
                string file = str.Substring(str.LastIndexOf("\") + 1);//去掉了路径
                string name = file.Substring(0,file.LastIndexOf("."));//去掉了后缀名
                comboBox1.Text = name;
                
            }
        }

图片如下

图片一

图片二

第二种:系统自带命令,直接不获取文件路径,只获取文件名,这是最简单的,但是我个人更喜欢第一种。

OpenFileDialog dlg = new OpenFileDialog();
           dlg.Title = "打开水晶报表文件";
           dlg.Filter = "水晶报表文件(*.rpt)|*.rpt|所有文件|*.*";
           if (dlg.ShowDialog() == DialogResult.OK)
           { 
               comboBox1.Text = dlg.SafeFileName;
           }

图片都如上面所示的,就不再上存效果图了。

原文地址:https://www.cnblogs.com/lvk618/p/3347193.html