web
You’re offline. This is a read only version of the page.
close
Skip to main content

Announcements

News and Announcements icon
Community site session details

Community site session details

Session Id :
Power Platform Community / Forums / Power Automate / Advanced expressions s...
Power Automate
Answered

Advanced expressions split string

(0) ShareShare
ReportReport
Posted on by

Hi, 

I have a text that contains multiple separators that I can identify by 4 letters in front of a Plus symbol. 

Here is an example:

 

EREF+STZV-EtE06042015-1113-2 SVWZ+Zweite SEPA-Ueberweisung EREF:STZV-EtE06042015-1 113-2 IBAN: DE14740618130000033626 BIC: GENODEF1PFK ABWE: TestABWE+Test

 

The good news is that I know all the separators such as "EREF+", "SVWZ+", "ABWE+", etc. 

 

Problem 1:

In my example, I have 3 different separators included but it is possible that I have only two or only one or even more. 

Problem 2:

I am interested in the text behind the separators but (a) the length of the text behind each separator is dynamic and not limited except by the separators and (b) I might not have all separators included in my text. 

Problem 3:

I cannot use multiple nested conditions because in total 12 different separators are feasible and I need the flow to run fast. 

 

Question: 

How can I filter and select the different texts that can be identified behind each separator?

 

Would be great if somebody could help because I already tried a lot of different expressions, filters, etc. but nothing really worked. 

 

Many thanks in advance, 

 

Ludwig

 

Categories:
I have the same question (0)
  • Ed Gonzales Profile Picture
    4,531 Most Valuable Professional on at

    @lreinhard7 

    Hi there - Chasing down some ideas in my head: 

    Is the actual separator used important to the Flow?  Meaning: Does your Flow care which separator is preceding the text, or just that there is a separator?  If the latter, I wonder if we could simplify the approach with something like a substitute command (I'd have to look up the odata equivalent).

     

    If the actual separator does matter to the Flow (as opposed to the data), then I see having to have a bunch of conditions or filters.  Also, if you're down this path and the separators repeat in a block, I see things getting weird.

     

    Another idea might be to parse it before moving onto the next action.

  • fcapel1023 Profile Picture
    4 on at

    Hi @lreinhard7 

    Let me piggyback on @edgonzales post above to see if we can tackle this together. You mentioned you know the following separators: "EREF+", "SVWZ+", "ABWE+", but do the other separators you don't know follow the same format of "XXX+"? I just ask because you also mentioned the text behind each separator is dynamic. If you can confirm the separators follow the format I mentioned before, that would be great.

     

    Regards,

    Fausto Capellan, Jr

  • Ludwig Reinhard Profile Picture
    on at
    Hi,
    The separators have always 4 letters that are followed by a + symbol. That is right.
    Best regards
    Ludwig
  • faustocapellanj Profile Picture
    1,662 on at

    @fcapel1023 wrote:

    Hi @lreinhard7 

    Let me piggyback on @edgonzales post above to see if we can tackle this together. You mentioned you know the following separators: "EREF+", "SVWZ+", "ABWE+", but do the other separators you don't know follow the same format of "XXX+"? I just ask because you also mentioned the text behind each separator is dynamic. If you can confirm the separators follow the format I mentioned before, that would be great.

     

    Regards,

    Fausto Capellan, Jr


    I just realized I posted the above message under the wrong account. I hope I get the notifications for this post to my actual account. My apologies.

  • faustocapellanj Profile Picture
    1,662 on at

    Hi @lreinhard7  and thank you for the information. Let us come up with a solution and post back.

     

    Regards,

    Fausto Capellan, Jr

  • Ludwig Reinhard Profile Picture
    on at

    Hi,

    Here is another examle how such a text can look like

    EREF+987654123497?21MREF+10023?22CRED+DE5
    4ZZZ09999999999?23SVWZ+Versicherungsbeitrag 2
    ?24013?

    Do you think that LUIS might help here?

    Best regards,

    Ludwig

  • Verified answer
    faustocapellanj Profile Picture
    1,662 on at

    Hi @lreinhard7 

    I built a Flow with a few actions in it to manipulate the strings to give you the desired outcome. It might not be exactly what you need, but it will definitely put you in the right path. I have attached a copy of the Flow in .zip format for you to import it in your tenant. Since it's manually triggered, there are no dependencies when you import it. Also, each action is named accordingly and they all have comments explaining what they do. Please check it out and let us know.

     

    Regards,

    Fausto Capellan, Jr

  • Verified answer
    v-yamao-msft Profile Picture
    Microsoft Employee on at

    Hi @lreinhard7 ,

     

    If you want to get the text behind the separators dynamically, please check if the following flow will work for you.

     

    Function used in Compose2:

    split(outputs('Compose'),'+')

     

    Function used in Compose3:

    substring(first(skip(outputs('Compose_2'),1)),0,sub(length(first(skip(outputs('Compose_2'),1))),4))

     

    Function used in Compose4:

    substring(first(skip(outputs('Compose_2'),2)),0,sub(length(first(skip(outputs('Compose_2'),2))),4))

     

    Function used in Compose5 will return value dynamically, if there is a text at this position, it will return the corresponding value, otherwise, it returns a null value.

     

    The same configuration with other texts. You can modify Compose3 and Compose4 in the same way.

    if(empty(first(skip(outputs('Compose_2'),3))),'',substring(first(skip(outputs('Compose_2'),3)),0,sub(length(first(skip(outputs('Compose_2'),3))),4)))

     

    1.PNG

     

     

    Best regards,

    Mabel

     

  • Ludwig Reinhard Profile Picture
    on at

    Many thanks for all of your feedback! Very much appreciated.

    I will be travelling the next days but try to test all this and come back to verify answers assuming that everything works fine.

    If I still got stock, I will continue bothering you here 🙂

    Regards,

    Ludwig

  • Ludwig Reinhard Profile Picture
    on at

    Thank you Fausto and Mabel, You guided me into the correct direction. Now things work. There are a couple of lengthy conversions but at the end of the day things run fast and give me expected result. Thanks for the help! Best regards, Ludwig

Under review

Thank you for your reply! To ensure a great experience for everyone, your content is awaiting approval by our Community Managers. Please check back later.

Helpful resources

Quick Links

Introducing the 2026 Season 1 community Super Users

Congratulations to our 2026 Super Users!

Kudos to our 2025 Community Spotlight Honorees

Congratulations to our 2025 community superstars!

Congratulations to the March Top 10 Community Leaders!

These are the community rock stars!

Leaderboard > Power Automate

#1
Haque Profile Picture

Haque 605

#2
Valantis Profile Picture

Valantis 340

#3
11manish Profile Picture

11manish 284

Last 30 days Overall leaderboard