打开多个文件并比较文件名<meta http-equiv="Content-Type" content="text/html; charset=UTF-8" />大家好,
我需要从特定文件夹中打开多个文件(特别是我只想打开.csv文件)。我还想从正在评估的文件的文件名中提取一些信息。
目前我有这个......
设置当前目录(“C:\ Jan_24th \”);
files =目录中的文件(“C:\ Jan_24th”);
for(i = 1,i <= N Items(files),i ++,
打开(
档 ,
.........
1。这可以打开文件夹中的所有文件。但问题是,它可以打开我文件夹中的任何文件而不仅仅是.csv文件。
2。我想根据当前文件名在日志中创建一个文本框:
例如,if(files ==“Red_color.csv”,textbox(“Red”)<< Journal;);
如果(文件 ==“Green_color.csv”,textbox(“Green”)<< Journal;);
如果(文件 ==“Blue_color.csv”,textbox(“Blue”)<< Journal;);
我不能让这个工作.... 此外,必须有一种优雅的方式来做到这一点(#2),而不是使用多个for循环。我不确定这里是否可以使用“substr”命令。
谢谢!
打开多个文件并比较文件名不同之处在于,对于替换字符串“\ 1”,该函数仅返回第一个parantheses内的内容。它也可以在没有“\ 1”的情况下正常工作,但是在当前的例子中你会得到例如“Red_”而不是“Red”。
打开多个文件并比较文件名谢谢MS ... 它就像一个魅力。
我想是一个新手问题,为什么你在你的正则表达式中使用\ 1。为什么需要重新搜索(。+?)... 它不是什么大事,但我认为我会问。
打开多个文件并比较文件名我认为如果csv文件的文件名总是以.csv结尾,则Ends With()可用于#1。正则表达式比#2的Substr更通用。一个例子:
设置默认目录 ( “C:\ Jan_24th \” ) ;
档 = 目录中的文件 ( “C:\ Jan_24th \” ) ;
对于 ( 一世 = 1 ,一世 <= N项 ( 档 ) ,一世 ++,
如果 ( 以。。结束 ( 档 [ 一世 ] ,名为 “.csv” ) ,
打开 ( 档 [ 一世 ] ) ;
文本框 ( 正则表达式 ( 档 [ 一世 ] , “(。+?)_” , “\ 1” ) ) << 日志 ; //文件中第一个“_”之前的所有文本一世这个名字是记载的
)
) ;