cancel
Showing results for 
Search instead for 
Did you mean: 
Reply
Highlighted
Frequent Visitor

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
Highlighted
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."

Highlighted
Community Support
Community Support

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
Frequent Visitor

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 ?

Highlighted
Community Support
Community Support

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

Highlighted
Frequent Visitor

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));

Highlighted
Frequent Visitor

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);
Highlighted
Community Support
Community Support

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
secondImage

New Return to Workplace

Reopen responsibly, monitor intelligently, and protect continuously with solutions for a safer work environment.

August 2020 CYST Challenge

Check out the winners of the recent 'Can You Solve These?' community challenge!

Experience what’s next for Power Apps

Join us for an in-depth look at the new Power Apps features and capabilities at the free Microsoft Business Applications Launch Event.

Check this Out

Helpful information

Featuring samples like Return to the Workplace and Emergency Response Applications

secondImage

Power Platform 2020 release wave 2 plan

Features releasing from October 2020 through March 2021

Top Solution Authors
Users online (3,630)