【问题标题】:regarding Regex operation in KNIME关于 KNIME 中的正则表达式操作
【发布时间】:2019-09-24 19:40:05
【问题描述】:

以下公式在 alteryx 工作流程中。

if(REGEX_Match([CurrentField],' (',0)) then '字符串显示' elseif(REGEX_Match([CurrentField],'a',0)) then '另一个要显示的字符串'

你能解释一下上面的函数试图执行什么以及如何在 KNIME 中实现这一点。

【问题讨论】:

    标签: regex knime alteryx


    【解决方案1】:

    要在 KNIME 中实现这种 if/else 语法,您可以使用 Column Expressions 节点。在这个节点中还有一个返回布尔值的rexegMatcher函数。

    可能是这样的:

    if (regexMatcher(column("column1"),"your_regex" )) {
        "string1"
    } else if (regexMatcher(column("column1"),"your_regex2" )) {
        "string2"
    } else {
        "string3"
    }
    

    【讨论】:

    • 谢谢 :)但是如果我想在大约 10 列上应用这些操作,我需要复制粘贴所有列的代码吗?
    • 在这种情况下,您可以使用Column List Loop Start 节点,该节点将在每次迭代中使用包含列中的一列(我建议在您的数据集中,您只留下您将循环的列,而其他您只需加入稍后,如果有的话)。在列表达式节点中,您可以按位置而不是名称访问列。所以你应该在你的代码中使用column(0) 而不是column("column_name") 函数。使用Loop End (Column Append) 节点完成它。
    猜你喜欢
    • 2019-08-06
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2013-10-07
    • 1970-01-01
    • 2020-11-13
    • 2016-01-06
    • 2014-07-01
    相关资源
    最近更新 更多