0
<Apply function="substring">
<FieldRef field="Input"/>
<Constant>1</Constant>
<Constant>2</Constant>
</Apply>
什么是如果字符串“HelloWorld”的是输入会发生什么官方规格的子定义?
是不允许的,还是应该发生其他事情?
<Apply function="substring">
<FieldRef field="Input"/>
<Constant>1</Constant>
<Constant>2</Constant>
</Apply>
什么是如果字符串“HelloWorld”的是输入会发生什么官方规格的子定义?
是不允许的,还是应该发生其他事情?
请参考PMML built-in function "substring"的规格,其基于XQuery built-in function "substring"。 在Java中,您的表达式转换为以下input.substring((1 - 1), (1 - 1) + 2)
。
需要注意的重要一点是,在PMML和XQuery中,字符串索引从位置1
(而不是0
)开始。此外,在使用此功能时,不存在如StringIndexOutOfBoundsException
这样的事情。如果你有兴趣获得一个字符串的剩余部分,那么你可以传递一个任意大的数字作为length
的参数。
看起来像JPMML-Evaluator库没有为超出范围的参数值正确实施substring内置函数。这已在最新的提交'b4c8cdf0dd'中修复。 – user1808924