截取字符串、文件名、删除工程相对路径只保留文件名(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; }
图片都如上面所示的,就不再上存效果图了。