cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
skini76
Level: Powered On

How to use regular expression to compare two strings in PowerApp ?

string1 = "Banana,Apple,Orange"

string2 = "Apple, Grapes, Plum"

 

In the above case, Apple is common between two strings, so the result of comparison should be True.

Can we achieve this using regular expression in PowerApp ?

 

7 REPLIES 7
Super User
Super User

Re: How to use regular expression to compare two strings in PowerApp ?

@skini76 

You can do this another way.  Regular expressions won't work here.

 

Put this code in your app.  You have the option of returning the values as a Collection (mySolutionCollection) or a text variable (mySolutionText).

 

//create collections
ClearCollect(myCol1,Split("Apples, Oranges, Bananas", ","));
ClearCollect(myCol2,Split("Apples, Oranges, Plum",","));

//get matches stored in a Collection
ClearCollect(
    mySolutionCollection,
        ShowColumns(
            Filter(
                AddColumns(
                myCol1,
               "MatchFound",If(!IsBlank(LookUp(myCol2,Result=myCol1[@Result])),true,false)
            ),
           MatchFound=true),
       "Result")
);

//get matches stored in a SET variable
Set(
    mySolutionText,
    Left(
        Concat(mySolutionCollection,Result&","),
        Len(Concat(mySolutionCollection,Result&","))-1
    )
)

 

---
Please click "Accept as Solution" if my post answered your question so that others may find it more quickly. If you found this post helpful consider giving it a "Thumbs Up."

Microsoft v-siky-msft
Microsoft

Re: How to use regular expression to compare two strings in PowerApp ?

Hi @skini76 ,

 

I don't think that's going to happen.

As an alternative workaround:

1. split the string by "," and check if the item in string A exists in String B

 

ClearCollect(myCol1,Split("Apples, Oranges, Bananas", ","));
ClearCollect(myCol2,Split("Apples, Grapes, Plum",","));
ClearCollect(myCol3,ForAll(myCol1, Result in myCol2))

 

2. if there is a true in mycol3, that mean there is a match.

Set true in myCol3 to Text of label.

Best regards,

Sik

 

Highlighted
skini76
Level: Powered On

Re: How to use regular expression to compare two strings in PowerApp ?

thanks, how to read the content of myCol3 ? myCol3(0).Value ? What is the syntax ?

Microsoft v-siky-msft
Microsoft

Re: How to use regular expression to compare two strings in PowerApp ?

Hi @skini76 ,

 

Set text property of Label:

true in myCol3.Value

If there is a match, mycol3 collection will have a "true" value, so we just check if "true" is in the mycol3.

Sik

skini76
Level: Powered On

Re: How to use regular expression to compare two strings in PowerApp ?

I tried the below e.g., it is not working

 

ClearCollect(
    myCol1,
    Split(
        "Private, Public, Foreign, Small Finance, Local, Payments",
        ","
    )
);
ClearCollect(
    myCol2,
    Split(
        "Foreign, Private, BigData",
        ","
    )
);
ClearCollect(myCol3,ForAll(myCol1, Result in myCol2));

skini76
Level: Powered On

Re: How to use regular expression to compare two strings in PowerApp ?

I tried the below e.g using your logic, but result is not as expected.

 

//create collections
ClearCollect(myCol1,Split("Private, Public, Forign, Local, Payment", ","));
ClearCollect(myCol2,Split("Public, Local, Plum", ","));
//get matches stored in a Collection
ClearCollect(
    mySolutionCollection,
        ShowColumns(
            Filter(
                AddColumns(
                myCol1,
               "MatchFound",If(!IsBlank(LookUp(myCol2,Result=myCol1[@Result])),true,false)
            ),
           MatchFound=true),
       "Result")
);
//get matches stored in a SET variable
Set(
    mySolutionText,
    Left(
        Concat(mySolutionCollection,Result&","),
        Len(Concat(mySolutionCollection,Result&","))-1
    )
); Notify (mySolutionText);
Microsoft v-siky-msft
Microsoft

Re: How to use regular expression to compare two strings in PowerApp ?

@skini76 

Just modify as below, add a space behind the comma.

ClearCollect(
    myCol1,
    Split(
        "Private, Public, Foreign, Small Finance, Local, Payments",
        ", "
    )
);
ClearCollect(
    myCol2,
    Split(
        "Foreign, Private, BigData",
        ", "
    )
);
ClearCollect(myCol3,ForAll(myCol1, Result in myCol2));

Sik

Helpful resources

Announcements
Better Together’ Contest Finalists Announced!

'Better Together’ Contest Finalists Announced!

Congrats to the finalists of our ‘Better Together’-themed T-shirt design contest! Click for the top entries.

thirdimage

Power Apps Community User Group Member Badge

Fill out a quick form to claim your user group badge now!

sixthImage

Join THE global Microsoft Power Platform event series

Attend for two days of expert-led learning and innovation on topics like AI and Analytics, powered by Dynamic Communities

Power Platform 2019 release wave 2 plan

Power Platform 2019 release wave 2 plan

Features releasing from October 2019 through March 2020

thirdimage

Microsoft Business Applications Virtual Launch

Join us for the Microsoft Business Applications Virtual Launch Event on Thursday, April 2, 2020, at 8:00 AM PST.

thirdimage

Community Summit North America

Innovate, Collaborate, Grow - The top training and networking event across the globe for Microsoft Business Applications

Top Solution Authors
Top Kudoed Authors
Users online (4,257)