如下这个文本格式,怎样快速解析放入CDS中,速度一定要快!!!
Test.txt内容如下:
[{FieldName:"_id",Size:37,DataType:ftString},{FieldName:"_name",Size:131,DataType:ftString},FieldName:"_sc",Size:37,DataType:ftString][["00012","sdfsdf","sdfs df"],["werwer","werwekjr","werwerewr"],["sdfsdferhberfg","werwerew","sdfsdfsdfds"]]注意以上文本没有回车换行,除字符串中间的空格外,其余任何地方均没有空格,这只是一个范本(只有三个字段和三条记录),实际上的东西比这个大得多(一般有七、八十个字段,上万条记录),所以要求速度一定要快,请教诸位老大怎样才能更快的获取呢?谢谢!
分不够可以再加300分.
Test.txt内容如下:
[{FieldName:"_id",Size:37,DataType:ftString},{FieldName:"_name",Size:131,DataType:ftString},FieldName:"_sc",Size:37,DataType:ftString][["00012","sdfsdf","sdfs df"],["werwer","werwekjr","werwerewr"],["sdfsdferhberfg","werwerew","sdfsdfsdfds"]]注意以上文本没有回车换行,除字符串中间的空格外,其余任何地方均没有空格,这只是一个范本(只有三个字段和三条记录),实际上的东西比这个大得多(一般有七、八十个字段,上万条记录),所以要求速度一定要快,请教诸位老大怎样才能更快的获取呢?谢谢!
分不够可以再加300分.
这种问题,规则表达式是最好的解决办法。
<!--
//fld 是个对象数组
//dat 是二维字符串数组var ftString = "ftString";var fld = [{FieldName:"_id",Size:37,DataType:ftString},{FieldName:"_name",Size:131,DataType:ftString},{FieldName:"_sc",Size:37,DataType:ftString}];
var dat = [["00012","sdfsdf","sdfs df"],["werwer","werwekjr","werwerewr"],["sdfsdferhberfg","werwerew","sdfsdfsdfds"]];for(var i=0; i<fld.length; i++) {
alert(fld[i].FieldName);
alert(fld[i].Size);
alert(fld[i].DataType);
}for(var i=0; i<dat.length; i++)
for(var j=0; j<dat[i].length; j++)
alert(dat[i][j]);
//-->
</script>
不错,你的想法就是我的想法的一种而已,其实我写的这种文件格式是叫JSON,是JavaScript可直接使用的一个格式,现在我要做一个程序想用Delphi的客户端也能加载此数据集,所以必须将JSON转换成为TClientDataSet的格式才行。请问你要解析这种文件格式装载到数据集TClientDataSet中需要什么方法才行?注意,速度一定要快。to: ZyxIp(绝望中...) 正则表达式是什么东西,怎么做,请教详细代码,我这边任务比较紧,一定要快点搞好,然后我才去学正则表达式,谢谢!To: All
如果有哪位大侠能够帮我很快解决问题,另开贴子给他300分,绝不食言。
[{FieldName:"_id",Size:37,DataType:ftString},{FieldName:"_name",Size:131,DataType:ftString},{FieldName:"_sc",Size:37,DataType:ftString}][["00012","sdfsdf","sdfs df"],["werwer","werwekjr","werwerewr"],["sdfsdferhberfg","werwerew","sdfsdfsdfds"]]
麻烦给看一下。
说明:是用规则表达式实现的。我的电子邮件:[email protected]
邮件已收到,可否把源码发给我,谢谢!