gpt4 book ai didi

mule - 在数据编织中拆分字符串

转载 作者:行者123 更新时间:2023-12-05 01:04:22 24 4
gpt4 key购买 nike

我有一个像“嗨,我来自“俄罗斯喀山”这样的字符串。输出应该是

Hi
I
am
from
Kazan, Russia

我尝试了正则表达式 [^\s\"']+|\"([^\"]*)\"|'([^']*)',效果很好在 regexp.com .但在 dataweave 中它什么都不做。这是我试过的

%dw 1.0
%output application/json
%function split(data) {returnData: data splitBy "[^\s\"']+|\"([^\"]*)\"|'([^']*)'"}
---
split(payload)[0]

编辑 1

我尝试了扫描运算符
这就是我所做的

%dw 1.0
%output application/json
---
{
payload: payload scan /[^\s\"']+|\"([^\"]*)\"|'([^']*)'/
}

但是我得到了 NullPointerException
堆栈跟踪

Message               : null (java.lang.NullPointerException).
Payload : com.mulesoft.weave.reader.DefaultSeekableStream@5d334a28
Element : /logFlow/processors/0 @ log:log.xml:14 (Transform Message)
Element XML : <dw:transform-message doc:name="Transform Message" metadata:id="87d4353c-240d-4b1c-84b4-171f6c11045b">
<dw:input-payload mimeType="plain/text"></dw:input-payload>
<dw:set-payload>%dw 1.0%output application/json---{payload: payload scan /[^\s\"']+|\"([^\"]*)\"|'([^']*)'/}</dw:set-payload>
</dw:transform-message>

最佳答案

我不确定您在初始查询中使用的语法,但以下内容应该适用于具有以下格式的有效负载:

Hello I am from "Kazan, Russia" 

和:

Hello I am from "Kazan, Russia

下面的示例使用:

  1. Possessive Quantifiers匹配所需的单词字符。

  2. 上的显式匹配, 以帮助匹配位置。

  3. Reduce数组的输出。

数据编织:

%dw 1.0
%input payload application/json
%output application/json
%var data = "Hello I am from \"StackOverflow, Internet\""
---
data scan /\w++, \w++|\w++/ reduce ($$ ++ $)

关于mule - 在数据编织中拆分字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39352383/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com