Forum Discussion

modwonka's avatar
modwonka
Helper I
4 years ago
Solved

M if text contains, if not empty

Hi,

 

I'm trying to improve one formula i did in M, to extract a date between brackets but i don't know how to advance. If anyone could help me, i would really appreciate it.

 

This is the formula:

 

let l=List.Transform( Text.Split([#"Tags (created on)"]," "), each Text.Remove(_,{"(",")",","})),
i=List.PositionOf(l, "BLUETEXT")
in l{i+1} & " " & l{i+2}

 

The formula is ok, but if in the column doesn't has "BLUETEXT" the formula extract the first text, no the text inside the bracket. 

 

How can i create a if there's not BLUETEXT leave empty? 

 

thanks! 

  • in was missing

    let l=List.Transform( Text.Split([#"Tags (created on)"]," "), each Text.Remove(_,{"(",")",","})),
    i=List.PositionOf(l, "BLUETEXT")
    in if i>=0 then l{i+1} & " " & l{i+2} else null

5 Replies

  • Vijay_A_Verma's avatar
    Vijay_A_Verma
    Most Valuable Professional

    I think should work for you in last line

    if i>=0 then l{i+1} & " " & l{i+2} else null

     

    • modwonka's avatar
      modwonka
      Helper I

      Thanks for your answer Vijay_A_Verma!

       

      I tried the solution with your code:

       

      let l=List.Transform( Text.Split([#"Tags (created on)"]," "), each Text.Remove(_,{"(",")",","})),
      i=List.PositionOf(l, "BLUETEXT"),
      if i>=0 then l{i+1} & " " & l{i+2} else null

       

      There's one error: "Token identifier expected". In the "if". Is this ok?

      • Vijay_A_Verma's avatar
        Vijay_A_Verma
        Most Valuable Professional

        in was missing

        let l=List.Transform( Text.Split([#"Tags (created on)"]," "), each Text.Remove(_,{"(",")",","})),
        i=List.PositionOf(l, "BLUETEXT")
        in if i>=0 then l{i+1} & " " & l{i+2} else null