Azure Logic Apps中替换Windows换行符为Linux换行符的有效方法咨询
在Azure Logic Apps中替换CR-LF为LF的可行方法
你之前直接在表达式里输入换行符的方式无效,是因为Logic Apps的表达式编辑器会把输入的换行符当成表达式的换行,而非要匹配的目标字符。试试下面两种实用方法:
方法一:使用URI编码转义字符
在Compose操作里通过decodeUriComponent解析CR-LF和LF的URI编码,精准匹配替换,表达式如下:
replace(string(body('Get_file_content_1')), decodeUriComponent('%0D%0A'), decodeUriComponent('%0A'))
%0D是CR(回车)的URI编码,%0A是LF(换行)的URI编码,decodeUriComponent会将它们转成实际的控制字符,从而匹配文件中的CR-LF并替换为LF。
方法二:使用ASCII字符函数
用char()函数直接生成CR和LF的ASCII字符,组合后完成替换,表达式更直观:
replace(string(body('Get_file_content_1')), concat(char(13), char(10)), char(10))
char(13)对应ASCII的CR,char(10)对应ASCII的LF,concat将两者组合成CR-LF字符串,再替换为单个LF。
额外注意
如果Get_file_content_1返回的是二进制内容(比如文件以base64编码形式返回),需要先转成字符串再处理,表达式修改为:
replace(base64ToString(body('Get_file_content_1')), concat(char(13), char(10)), char(10))
内容的提问来源于stack exchange,提问作者Chandana H S
相关产品推荐
相关产品推荐

