繁体   English   中英

自动字符串和数字串联

[英]automating string and number concatenation

我在自动化matlab脚本时遇到了一些麻烦,该脚本会提示用户输入他们感兴趣的变量以及他们想要的日期范围。 然后,我希望脚本在它们最终将要加载的文件的命名约定中连接他们的答案。

variable = input('请输入感兴趣的输入变量');

温度百分比

start = input('请以yymmdd:'的形式声明开始日期;

%130418

enddate = input('请以yymmdd:'的形式声明结束日期;

%140418

文件= sprintf的( '%s_dailydata_%D_%d.csv',变量,启动,结束日期);

所以我认为“文件”看起来像是:temp_dailydata_130418_140418.csv

VARDATA =负载(文件);

这两个代表日期的数字不会引起任何问题,但是“变量”是一个字符串的事实却是这样。 我知道如果在提示时在'temp'之前和之后放置撇号,它将起作用,但是我必须假设最终用户不知道这样做。 我试着在“请输入您的变量..”周围加上花括号,但这也无济于事。 显然,此方法假定请求的日期存在于文件名中。 谁能提供任何建议? 也许sprintf函数不是这里的最佳选择?

不要将“ end”用作变量名,它是保留名,使用它可能会与您定义的任何功能或逻辑块产生冲突。

如果您知道您的输入将是字符串,请参见: input()文档

str = input(prompt,'s') 
Returns the entered text as a MATLAB string, without evaluating expressions.

至于要知道文件是否存在,那是您必须合并一些错误逻辑的原因。 可以通过load()调用try / catch块,也可以使用uigetfile()来获取文件名。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM