Forum Discussion

non23's avatar
non23
Helper I
1 year ago
Solved

Remove text after any number

How to get text in between Z and the last number? Here's a sample of the output that we want to achieve. We were able to get the text after 'Z' but we can't seem to drop the letter after the number....
  • Anonymous's avatar
    Anonymous
    1 year ago

    Hi non23 ,

    Thank you for reaching out to the Microsoft Fabric Community.

     

    I tried the following M Query on my end, and it worked successfully:

     

    let

        textValue = [Data], 

        zPos = Text.PositionOf(textValue, "Z", Occurrence.First), 

        numbers = {"0".."9"},

        lastNumPos = List.Max(List.Transform(numbers, each Text.PositionOf(textValue, _, Occurrence.Last))), 

        start = if zPos = -1 then 0 else zPos + 1, 

        end = if lastNumPos = -1 then Text.Length(textValue) else lastNumPos + 1, 

        extractedText = Text.Middle(textValue, start, end - start) 

    in

        extractedText

     

    Since it worked for me, I am attaching a PBIX file to help you understand the setup better. If you need any further assistance, feel free to reach out.

     

    If this post helps, then please give us Kudos and consider Accept it as a solution to help the other members find it more quickly.

     

    Thank you.