Intialize a variable named "A" of type string and enter a couple of lines of text. Then use Compose to split it. Run.
Then, check execution.
This was expected.
But the next was not. See result below:
I also tried use:
split(variables('A'),'
')
This was accepted as expression but result was the same.
split(variables('A'),'\r\n')
produced the same result.
What is wrong here ?
P.S. My ultimate goal is to parse a multi-line CSV text file from Sharepoint document library. Yes, I'm aware of Excel connector.
Solved! Go to Solution.
Hi @slyuso,
Thanks for the feedback.
I think the issue here should be the
split(variables('A'),' ')
As the
' '
Will not be considered as a valid character in flow expression, per my testing.
To workaround this, please take a try to create an example first, then get the New Line character, after that, use the NewLine Compose output as the Split string:
Follow the steps below:
1. Create a string variable as below, make sure to enter two spaces after Line1, then press enter:
Line1 Line2
2. Add Compose, under the Input, enter the expression below:
take(first(skip(split(Variables('A'),' '),1)),1)
3. After that, we could use the Outputs of the Compose to split the string with the Line break character:
split(variables('A'),outputs('Compose'))
4. The running results:
Regards,
Michael
Hi @slyuso,
Thanks for the feedback.
I think the issue here should be the
split(variables('A'),' ')
As the
' '
Will not be considered as a valid character in flow expression, per my testing.
To workaround this, please take a try to create an example first, then get the New Line character, after that, use the NewLine Compose output as the Split string:
Follow the steps below:
1. Create a string variable as below, make sure to enter two spaces after Line1, then press enter:
Line1 Line2
2. Add Compose, under the Input, enter the expression below:
take(first(skip(split(Variables('A'),' '),1)),1)
3. After that, we could use the Outputs of the Compose to split the string with the Line break character:
split(variables('A'),outputs('Compose'))
4. The running results:
Regards,
Michael
Thank you, Michael
Your post inpired me for even a simpler solution.
To define variable CRLF, I pressed ENTER key. This is not obvious from the picture
And it worked as in your example.
Thank you for helping.
Brilliant!
Awesome!
Thank you
This will be very useful in working with csv files.
I'm still working on and searching for a solution to do this same thing with TAB delimited.
Update: I just realized you can press tab in notepad then copy it into flow and that lets you split tab delimited files.
This could also work, but I have not tried it. This is the original post
https://powerusers.microsoft.com/t5/Building-Flows/Replace-Newline-in-Flow-Expression/td-p/57333
Converting it to an array should something like this:
split(uriComponent(body('Html_to_text')), '%0A')
If someone could confirm, please let reply.
Hi Jose,
This works too but as we are encoding the content, we need to again decode while parsing the results.
I tested this in a recent flow š
Thanks,
Nutan
Hi @JoseZald101 ,
It worked. Thank you very much for pointing this out. However below expression,
split(uriComponent(body('Html_to_text')), '%0A')
returns an array with uri components within it. I need to use uriComponentToString method to change each array item.
uriComponentToString(split(uriComponent(body('Html_to_text')), '%0A')[0])
This is genius - the CRLF solution.
This is brilliant, simple and it works!
Dive into the Power Platform stack with hands-on sessions and labs, virtually delivered to you by experts and community leaders.
Watch Nick Doelman's session from the 2020 Power Platform Community Conference on demand!
User | Count |
---|---|
45 | |
43 | |
36 | |
35 | |
26 |
User | Count |
---|---|
48 | |
38 | |
32 | |
32 | |
31 |