Skip to main content
cancel
Showing results for 
Search instead for 
Did you mean: 

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now! Learn more

Reply
mwild
Frequent Visitor

String Extract based on criteria

I have a table and one column contains free text.  I'm looking to add a column which will search the free text and extract anything which has a letter followed by 5 numbers.

 

For example - the below would be extracted:


D98765

d12345

D 54821

d 65411

This could be anywhere within the string of text.  Is this possible?

1 ACCEPTED SOLUTION
moizsherwani
Continued Contributor
Continued Contributor

@mwild  ***Made a tweak to the code***

The following works. I will let you tweak the code further if you need to so I am not doing all your homework 😂

 

StringMatch = 
VAR NoBlankFreeText =
    SUBSTITUTE ( 'Sample Data'[FreeText], " ", "", 1 )
VAR UpperD =
    FIND ( "D", NoBlankFreeText, 1, BLANK () )
VAR LowerD =
    FIND ( "d", NoBlankFreeText, 1, BLANK () )
VAR PositionD =
    IF ( ISNUMBER ( UpperD ), UpperD, LowerD)
VAR CheckNumbers =
    ISERROR (
        ISNUMBER ( VALUE ( MID ( NoBlankFreeText, PositionD + 1, 5 ) ) )
    )
RETURN 
    IF (
        NOT ( CheckNumbers ),
        MID ( NoBlankFreeText, PositionD, 6),
        "No Match"
    )

 

 

moizsherwani_0-1632236672765.png

 

 

Thanks,

Moiz
Was I able to answer your question? Mark my post as a solution to help others. Kudos if you liked the solution.

View solution in original post

7 REPLIES 7
mh2587
Super User
Super User

With combination of LEFT or RIGHT function


Did I answer your question? If so, please mark my post as a solution!


Proud to be a Super User!




LinkedIn Icon
Muhammad Hasnain



mh2587
Super User
Super User

Or you can use CONTAINSSTRING function e.g 

MyCalculatedColumn = If(CONTAINSSTRING([TARGETCOLUMN];"searchforthis");TRUE();FALSE())

 


Did I answer your question? If so, please mark my post as a solution!


Proud to be a Super User!




LinkedIn Icon
Muhammad Hasnain



moizsherwani
Continued Contributor
Continued Contributor

I am not sure how this will work when the end goal is "any letter followed by any numbers" when the letter and the numbers could be anything, e.g. it can be "Z 98765" or "b34561" or worse "!@#@!D48202@#!@".

Thanks,

Moiz
Was I able to answer your question? Mark my post as a solution to help others. Kudos if you liked the solution.

The letter will always be "D" or "d"
There may be a space (or may not be) and then 5 numbers between 0 and 9

moizsherwani
Continued Contributor
Continued Contributor

@mwild  ***Made a tweak to the code***

The following works. I will let you tweak the code further if you need to so I am not doing all your homework 😂

 

StringMatch = 
VAR NoBlankFreeText =
    SUBSTITUTE ( 'Sample Data'[FreeText], " ", "", 1 )
VAR UpperD =
    FIND ( "D", NoBlankFreeText, 1, BLANK () )
VAR LowerD =
    FIND ( "d", NoBlankFreeText, 1, BLANK () )
VAR PositionD =
    IF ( ISNUMBER ( UpperD ), UpperD, LowerD)
VAR CheckNumbers =
    ISERROR (
        ISNUMBER ( VALUE ( MID ( NoBlankFreeText, PositionD + 1, 5 ) ) )
    )
RETURN 
    IF (
        NOT ( CheckNumbers ),
        MID ( NoBlankFreeText, PositionD, 6),
        "No Match"
    )

 

 

moizsherwani_0-1632236672765.png

 

 

Thanks,

Moiz
Was I able to answer your question? Mark my post as a solution to help others. Kudos if you liked the solution.
mh2587
Super User
Super User

You can use CONTAIN function


Did I answer your question? If so, please mark my post as a solution!


Proud to be a Super User!




LinkedIn Icon
Muhammad Hasnain



moizsherwani
Continued Contributor
Continued Contributor

You can do this using regular expression (using R or Python) in the query editor, Curbal here explains it really well

 

https://www.youtube.com/watch?v=9E3VsvFAge4

 

Regards,

 

Moiz

If this post helps, please "Accept" it as Solution to help other members find it.

Thanks,

Moiz
Was I able to answer your question? Mark my post as a solution to help others. Kudos if you liked the solution.

Helpful resources

Announcements
Power BI DataViz World Championships

Power BI Dataviz World Championships

The Power BI Data Visualization World Championships is back! Get ahead of the game and start preparing now!

December 2025 Power BI Update Carousel

Power BI Monthly Update - December 2025

Check out the December 2025 Power BI Holiday Recap!

FabCon Atlanta 2026 carousel

FabCon Atlanta 2026

Join us at FabCon Atlanta, March 16-20, for the ultimate Fabric, Power BI, AI and SQL community-led event. Save $200 with code FABCOMM.

Top Solution Authors