跳转到内容

Table Text Function 步骤

表:文本函数 步骤对每一行中函数所读取的列应用文本函数,并将结果写入源表副本的新列。函数所读取的任何列中出现 NULL,结果即为 NULL。

  • 源表 和 输出表 — 要读取的表和要写入的表。
  • 函数 — 要应用的函数。表单提供下面两个表中的函数,并为所选函数读取的每个参数显示一个按其作用命名的列字段。
  • 参数列 — 函数读取的列,按表中列出的顺序排列。每一项都是必填的。
  • 输出列 — 添加到源副本中的列的名称。
函数 参数 结果
levenshtein 第一列,第二列 区分大小写的编辑距离,为整数
soundex 文本 文本
json_format JSON 格式化后的 JSON 文本
json_field JSON,路径 文本
json_set_text, json_set_number, json_set_boolean JSON,路径,值 设置了该值的 JSON 文本
regex_match 文本,模式,区分大小写 真或假
regex_search 文本,模式,出现次数,区分大小写 位置,为整数
regex_extract 文本,模式,出现次数,区分大小写 文本
regex_replace 文本,模式,替换内容,区分大小写 文本
to_text_number 数字,模式 文本:以 DecimalFormat 风格的模式写出的数字
to_text_datetime 日期/时间,模式 文本:以日期时间模式写出的日期
parse_date 文本,模式 读取为日期的文本
parse_datetime 文本,模式 读取为日期时间的文本

已转换的 Savant 分析可以包含其中任何函数,它们的运行方式相同。表单未提供的函数会显示其存储的列,并按保存时的原样保留。

函数 列表还提供以下函数。已转换的 KNIME 工作流也会使用它们。

函数 参数 结果
damerau_levenshtein, hamming, lcs 第一列,第二列 对应的编辑距离,为整数
jaro, jaro_winkler 第一列,第二列 1 减去相似度,文本相同时为 0
ngram_distance 第一列,第二列 1 减去字符二元组的 Dice 系数
jaccard_tokens, dice_tokens, cosine_tokens 第一列,第二列 1 减去两段文本中单词集合的相似度,任一方没有单词时为 1
java_compare 第一列,第二列 首个不同字符的差值,与 Java 的 compareTo 给出的结果相同,为整数
java_regex 文本,模式,替换内容 (仅替换模式) 从列中读取的 Java 正则表达式:在 matches 和 find 模式下为真或假,在 extract 和 replace 模式下为文本
knime_count 文本,搜索文本 搜索文本出现的次数,为整数
knime_binomial, long_pow 两个数字 二项式系数或整数幂,使用会回绕的 64 位运算
encode, decode 文本 以某种字符集表示的文本的 Base64 字节,以及反向转换
url_encode 文本 按表单值进行百分号编码的文本,空格写作 +
list_sort_numeric 文本 以分隔文本形式保存的列表,按数值排序
geojson_to_wkt JSON,路径 路径(如 $.a[0],或用 $ 表示文本本身)处的 GeoJSON 几何图形,输出为 WKT
json_patch_apply JSON 应用了 JSON Patch 或 Merge Patch 的文档
json_diff 第一个 JSON,第二个 JSON 将第一个文档变为第二个文档的 JSON Patch
json_schema_check JSON 文档相对于 JSON 架构的错误,以 JSON 表示;没有错误时为 NULL
json_normalize JSON 规范化后的 JSON 文本形式的文档
json_to_xml, xml_to_json 文档 转换为 XML 或 JSON 的文档
xml_well_formed XML 若为格式良好的 XML 则为该文本,否则为 NULL
xslt XML,样式表 经 XSLT 样式表转换的文档
message_text, message_tool_calls JSON AI 消息的文本,或其以 JSON 表示的工具调用

在 function_options 中设置函数的选项:

  • java_regex — mode:matches(默认,整个文本)、find(任意位置)、extract(首个匹配的 group 组,默认 0)或 replace(每个匹配);flags 中的 i 表示忽略大小写。
  • knime_count — modifiers:i 表示忽略大小写,w 表示按空白之间的完整单词计数。
  • encode 和 decode — charset,一个 Java 字符集名称;默认为 UTF-8。
  • json_patch_apply — patch,即 JSON Patch 数组或 Merge Patch 对象;merge 为 true 表示 Merge Patch;keep 表示在补丁测试失败时保留文档。
  • json_schema_check — schema;fail 表示在遇到第一个错误时停止步骤,而不是返回该错误。
  • json_normalize — comments 允许 /* */ 和 // 注释;fail(默认 true)在文本不是 JSON 时停止步骤,false 则给出 NULL。
  • json_to_xml — root、item、typed、parent_keys、namespace、text_key 和 text_key_enabled。xml_to_json — text_key、comments 和 pis。
  • list_sort_numeric — separator;empty,为没有元素的列表写入的文本;以及 missing,缺失元素的文本,排在最后。

默认情况下,步骤读取源的所有列,并写入所有源列,后面跟着输出列。设置 source_columns 可只读取部分列,设置 target_columns(每项为 {source, target, dtype})可选择并排列写入的列。与输出列同名的目标列会取代输出列的位置,并使用给定的数据类型。