ITPub博客

首页 > 应用开发 > IT综合 > 如何从字符串文本中拆解出多个数值并计算

如何从字符串文本中拆解出多个数值并计算

IT综合 作者:xiaohuihui 时间:2020-05-12 18:11:49 0 删除 编辑

对于字母符号数值混排的文本文件,可以拷入Excel再拆解,但公式过于复杂,普通人难以掌握。用VBA\JAVA\Python等开发语言也可以解决这个问题,但代码冗长繁琐,还要使用难懂的正则表达式,实现起来更加困难。

如果用esProc就会简单很多。比如文本文件的其中一行是"Jeff spent 13.5$ for cola, 5.2$ for coat,and 21$ for toys",要对该文件中的所有数值求和,esProc代码可以写成:


A B
1 =file("data.txt").read() /读入文本,形成一个大字符串
2 =A1.word@d() /拆解出所有的数值,包括小数
3 =A2.sum() /求和

如果不是对整体求和,而是按行求和,代码也很简单:


A B
1 =file("data.txt").import@i() /读入文本,每行一个字符串
2 =A1.new(~.words@s()(1):name,~.words@d():numbers) /按行拆分,形成两列,name列存该行单词中的第一个(名字),numbers存数值
3 =A2.derive(numbers.sum()) /新加一列,对numbers里的数值求和

esProc 是个脚本语言,可以在 IDE 里反复执行,还可以用命令行方式调用。

类似其它的文件计算例子: 比较 csv 文件中数据差异

处理 Excel 也不是问题: excel 合并汇总

这里有总结的更多文本计算例子,涵盖了常见的结构化数据的运算: SPL 结构化文本计算

esProc 是专业的文件处理脚本,即安即用,调试方便,类库丰富,详情参考: 文件处理器

关于集算器安装使用、获得免费授权和相关技术资料,可以参见: 如何使用集算器

来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/69900830/viewspace-2691648/ ,如需转载,请注明出处,否则将追究法律责任。

请登录后发表评论 登录
全部评论

注册时间:2018-12-01

  • 博文量
    326
  • 访问量
    194649