Forum Discussion
Regular expression
Hi,
I want to search the chain "Name" in a columns which contains among others "ApplicationName" ?
example: Countries=xx; ApplicationId=nbk;Name=yvalxx; ApplicationName=sauve/netbackup; Environment=prod
Hi FP68
ApplicationName2 =VAR TagText = Disques_Global[TAGS]VAR _Key = "Name="VAR _Key2 = "ApplicationName="VAR KeyPos = SEARCH ( _Key, TagText, 1, 0 )VAR Key2Pos = SEARCH ( _Key2, TagText, 1, 0 )VAR ValueStart = KeyPos + LEN ( _Key )VAR SemiPos = SEARCH ( ";", TagText, ValueStart, 0 )RETURNIF (KeyPos = 0,BLANK(),IF (KeyPos <> Key2Pos + 11,IF (SemiPos = 0,MID ( TagText, ValueStart, LEN ( TagText ) - ValueStart + 1 ),MID ( TagText, ValueStart, SemiPos - ValueStart ))))If this helped, please consider giving kudos and mark as a solution
@me in replies or I'll lose your threadWant to check your DAX skills? Answer my biweekly DAX challenges on the kubisco Linkedin page
Consider voting this Power BI idea
Francesco Bergamaschi
MBA, M.Eng, M.Econ, Professor of BI
5 Replies
- Shravan133Super User// TagText holds the whole "key=value; key=value; ..." stringVAR CleanText =SUBSTITUTE ( SUBSTITUTE ( TagText, "; ", ";" ), " ", "" ) // normalize spaces// Try to find ;Name= anywhere mid-stringVAR PosSemicolon = SEARCH ( ";Name=", CleanText, 1, 0 )// Also allow Name= at the very startVAR PosStart = IF ( LEFT ( CleanText, 5 ) = "Name=", 1, 0 )// True token start: either after ';' or at the beginningVAR TokenStart =IF ( PosSemicolon > 0, PosSemicolon + 1, PosStart )RETURNIF (TokenStart > 0,VAR ValueStart = TokenStart + LEN ( "Name=" )VAR Remainder = MID ( CleanText, ValueStart, 32767 )VAR Value = LEFT ( Remainder, SEARCH ( ";", Remainder & ";", 1, 0 ) - 1 )RETURN Value,BLANK ())
- FreemanZSuper User
how about using ";Name="?
- FP68Helper I
Hi,
The colums can start with Name so ";Name" is not OK- FBergamaschiSuper User
Hi FP68
ApplicationName2 =VAR TagText = Disques_Global[TAGS]VAR _Key = "Name="VAR _Key2 = "ApplicationName="VAR KeyPos = SEARCH ( _Key, TagText, 1, 0 )VAR Key2Pos = SEARCH ( _Key2, TagText, 1, 0 )VAR ValueStart = KeyPos + LEN ( _Key )VAR SemiPos = SEARCH ( ";", TagText, ValueStart, 0 )RETURNIF (KeyPos = 0,BLANK(),IF (KeyPos <> Key2Pos + 11,IF (SemiPos = 0,MID ( TagText, ValueStart, LEN ( TagText ) - ValueStart + 1 ),MID ( TagText, ValueStart, SemiPos - ValueStart ))))If this helped, please consider giving kudos and mark as a solution
@me in replies or I'll lose your threadWant to check your DAX skills? Answer my biweekly DAX challenges on the kubisco Linkedin page
Consider voting this Power BI idea
Francesco Bergamaschi
MBA, M.Eng, M.Econ, Professor of BI