本帖最后由 lucas.Yan 于 2025-12-5 11:48 编辑
版本需求:>=8.1
背景:
很多客户有自己的函数需求,例如原本的数据库中有很多不规则数据,此时要取出规则的数据或者清洗数据。用Wyn自带的wax表达式函数,例如left、right、mid等显得有些麻烦。因此希望我们能自定义公式,从而支持正则表达式或者其他特有的方法。
因此在新版本我们支持了自定义函数的功能
功能:
需要利用正则表达式提取出字符串中所需要的数据
步骤:
1 首先我们需要通过VS2022编写自定义函数,本篇教程的函数是正则匹配并返回指定匹配项。
这个函数设置了三个参数,分别是正则表达式,匹配的字符串,要返回的索引
需要有一定的代码基础,或者可以利用AI去进行修改和编写,编写好了之后,点击生成解决方案。
之后在对应的udf_regex_match\bin\Debug\net8.0目录下将会生成对应的dll文件。udf_regex_match_value.dll
2 停止Wyn服务
3 修改配置文件当我们生成好对应的dll文件之后,需要修改配置文件,将其引入Wyn中。
修改Wyn.conf(分别在GlobalSettings,Server,CotWorder下添加下面的配置,可以参考Wyn.conf.sample文件)
- <DataProviders>
- <UDFAssemblyPaths>
- <sys:string>D:\Wyn\C\udf_regex_match_value\udf_regex_match_value.dll</sys:string>
复制代码 4 启动Wyn服务
5 之后我们就可以在Wyn的数据集的计算字段中愉快的使用了
- regex_match_value('\d+\.?\d*','2025.1 sadf ff3d',1)
复制代码
返回结果值为
Demo:见附件
如果没有环境的朋友,可以只下载
udf_regex_match_value.dll和Gcef.Data.UDF.dll两个文件,放入固定目录并在配置文件中引用即可
注意:
使用范围为 数据集的计算字段,JSON和Excel等数据源的WynSQL中。
|