找回密码
 注册
Simdroid-非首页
查看: 104|回复: 4

如何提取不含后缀的文件名

[复制链接]
发表于 2010-8-30 11:34:49 | 显示全部楼层 |阅读模式 来自 湖北武汉
比如:我用uigetfile函数选择了某路径下的aa.txt文件,现在我要读取同一路径下的aa2.txt文件(注意,此文件名全是在前一个uigetfile函数选择的文件名后面加2),我原来用的是下面的语句
[filename, pathname] = uigetfile('*.txt', 'Pick an txt-file');
if isequal(filename,0) || isequal(pathname,0)
       return
    else
       f= fullfile(pathname, filename);               
end

filename2=sprintf('%s2.txt',filename);%此句中的filename和下句中的pathname全是原来用uigetfile得到的
sefile= fullfile(pathname, filename2);
调试的时候发现sefile是aa.txt2.txt,我想把原来的filename的后缀txt去掉,这样子sefile就是我想要的aa2.txt文件名了
请问有什么函数是可以自动剥掉文件名后缀的么?
发表于 2010-8-30 12:10:43 | 显示全部楼层 来自 四川成都
Simdroid开发平台
本帖最后由 lengyunfeng 于 2010-8-30 12:12 编辑

问题在于你对filename2的定义,这里面的%s就相当于filename本身,即aa.txt,故filename2才会变成aa.txt2.txt。你可以试一下把这一句改成:
  1. filename2=sprintf('%s\b\b\b\b2.txt',filename);
复制代码

这里面\b的意思是回删(backspace)

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-8-30 14:20:20 | 显示全部楼层 来自 北京
用fileparts函数

  1. [pathstr, name, ext, versn] = fileparts(filename2);
  2. filename2=sprintf('%s2.txt',name);
  3. sefile= fullfile(pathname, filename2);
复制代码
具体的用法可以看帮助文件

评分

1

查看全部评分

回复 不支持

使用道具 举报

发表于 2010-8-31 13:45:14 | 显示全部楼层 来自 江苏南京
回qibbxxt 版主,代码第一行是filename2,还是发filename?
另请外,假入我通过下面语句得到一个可执行文件的路径
[filename, pathname] = uigetfile('*.exe', 'Pick an exe-file');
s=fullfile(pathname,filename)
怎样将得到的路径代入system指令执行这个程序
system('路径'),这个路径可以简单用's'代替吗
回复 不支持

使用道具 举报

发表于 2010-8-31 14:56:13 | 显示全部楼层 来自 河北廊坊
4# wingmyway
我觉得完整的可以这样写

  1. [filename, pathname] = uigetfile('*.txt', 'Pick an txt-file');
  2. if isequal(filename,0) || isequal(pathname,0)
  3.        return
  4.     else
  5.        f= fullfile(pathname, filename);               
  6. end
  7. [pathstr, name, ext, versn] = fileparts(filename);
  8. filename2=sprintf('%s2.txt',name);
  9. sefile= fullfile(pathname, filename2);
复制代码

另外我我觉得

  1. system(s)
复制代码

就可以,因为s已经是字符串了

评分

1

查看全部评分

回复 不支持

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Simapps系列直播

Archiver|小黑屋|联系我们|仿真互动网 ( 京ICP备15048925号-7 )

GMT+8, 2024-10-6 21:33 , Processed in 0.051686 second(s), 21 queries , Gzip On, MemCache On.

Powered by Discuz! X3.5 Licensed

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表