我如何删除某些字符串在Azure逻辑应用程序中使用通配符

owfi6suc  于 2023-10-22  发布在  其他
关注(0)|答案(3)|浏览(102)

我在逻辑应用程序中的变量中有一个字符串,看起来像这样123,456,"A,B,C",789
我想替换字符串中“A,B,C”部分的逗号,这样我就得到了一个新值123,456,“A B C”,789。
我尝试了许多不同的东西:

replace(variables('replaceval'),'*","*','')
replace(variables('replaceval'),'%","%','')
replace(variables('replaceval'),'","','')

但似乎没有什么工作是有一种方法来使用外卡作为“A,B,C”可以是“D,E,F”

hec6srdp

hec6srdp1#

或者,我在我的环境中复制了Compose操作,下面是预期的结果:

Design:

replace(replace(replace(outputs('Compose'),split(replace(outputs('Compose'),'"','{'), '{')[1],''),'"',''),',,',',')

Outputs:

如果你想替换或知道它是什么在报价使用下面的设计:

split(replace(outputs('Compose'),'"','{'), '{')[1]

Output:

如果你想替换任何东西,你可以使用compose 3的输出并使用它替换。

uwopmtnx

uwopmtnx2#

您可以使用“split”和“join”函数结合循环来实现这一点。下面是你如何一步一步地做到这一点:
1.初始化一个变量以存储修改后的字符串:创建一个变量,我们称之为“MyModifiedString”,并将其初始化为空字符串。
1.使用逗号作为分隔符拆分输入字符串:使用“split”函数将输入字符串拆分为数组:

split(variables('InputString'), ',')

1.遍历子字符串:使用“For each”循环遍历子字符串数组。替换带引号的子字符串中的逗号:在循环内部,使用“Compose”操作有条件地将双引号中的子字符串中的逗号替换为空格。

If(
        startsWith(item(), '"'),
        replace(item(), ',', ' '),
        item()
    )

1.将修改后的子字符串重新连接在一起,使用逗号作为逗号:循环结束后,使用“join”函数将修改后的子字符串连接在一起,使用逗号作为逗号:

join(outputs('For_each'), ',')

此方法将用空格替换字符串双引号部分中的逗号,并将修改后的字符串存储在“ModifiedString”变量中。

lkaoscv7

lkaoscv73#

在Azure逻辑应用程序中,您可以将“编写”操作与Azure函数和表达式的组合结合使用,以使用字符串删除字符串中的某些字符。如果您愿意,我将为您提供实现此目标一般性分步指南。

相关问题