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