首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >公式解析

问公式解析
EN

Software Engineering用户
提问于 2019-02-14 10:00:08
回答 1查看 71关注 0票数 -1

我已经创建了一个导入CSV文件的应用程序,应用程序导入的每个CSV文件都可以包含不同的数据,将来还会添加CSV文件的新格式。我在JSON中创建了一个定义,详细说明了每个文件,而不是硬代码。我编写了一个基本的导入类,它从文件中导入每一行。

我希望能够对正在导入的一些数据执行小的转换/修改。我把这个转变存储为

代码语言:javascript
复制
right(%data%,5)

其中%data%是我正在处理的CSV文件的列。

我开始编写转换器,并使用处理器处理每一列。下面是right转换器的一个示例

代码语言:javascript
复制
public function transformRight($string,$numChars) {
   return substr($string,(-1 * abs($numChars)));
}

我现在面临的问题是,我希望执行更复杂的转换--我希望能够使用多个函数,我希望能够连接值并接受字符串的最后x字符。

我会为我想要进行的每一种独特类型的转换编写一个转换方法,但这似乎不是很好的实践/非常有效。我一直在考虑创建一个lexer /解析器,但是对于我想要创建的简单事物,我所看到的一切似乎都是复杂的。我会将转换存储为

代码语言:javascript
复制
trim(concat('ABC',right(%data%,5)))

使用正则表达式会是更好的方法吗?或者是词汇/解析器?或者我没看过的东西?

EN

回答 1

Software Engineering用户

回答已采纳

发布于 2019-02-15 09:06:40

我发现了一个名为表达语言的Symfony组件--它完全符合我的要求--也很容易添加自定义表达式。

票数 0
EN
页面原文内容由Software Engineering提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://softwareengineering.stackexchange.com/questions/387179

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档