我需要在数据流中清理这些混乱的字段。EAN字段可以包含任意数量的元素,由“,"分隔。但实际的EAN总是最后一个。然而,似乎没有办法让这个简单的分割函数正常工作。它总是只返回一个包含完整内容的元素。我做错了什么?
lnxxn5zx1#
EAN字段可以包含任意数量的元素,由“,"分隔。但实际的EAN总是最后一个。要从所有逗号分隔值中获取实际EAN,您需要使用以下表达式。
split({_col0_}, ",")[size(split({_col0_}, ","))]
jv4diomz2#
这个问题的原因是在混乱的源数据。我认为这是一个正常的逗号,而不是它是一些奇怪的全宽逗号,如Unicode字符U+FF0C。下面的代码最终完成了这个工作,虽然它很丑。
split(trim(regexReplace(regexReplace(EAN, '[\\x09\\r\\n\\t]', ''),'[\\uFF0C]',',')), ",")[size(split(trim(regexReplace(regexReplace(EAN, '[\\x09\\r\\n\\t]', ''),'[\\uFF0C]',',')),','))]
2条答案
按热度按时间lnxxn5zx1#
EAN字段可以包含任意数量的元素,由“,"分隔。但实际的EAN总是最后一个。
要从所有逗号分隔值中获取实际EAN,您需要使用以下表达式。
jv4diomz2#
这个问题的原因是在混乱的源数据。我认为这是一个正常的逗号,而不是它是一些奇怪的全宽逗号,如Unicode字符U+FF0C。下面的代码最终完成了这个工作,虽然它很丑。