Skip to main content
Announcements
Have questions about Qlik Connect? Join us live on April 10th, at 11 AM ET: SIGN UP NOW
cancel
Showing results for 
Search instead for 
Did you mean: 
marcel_olmo
Partner Ambassador
Partner Ambassador

Textbetween challenge

Hi guys,

I have to read some information inside two tags like the following :

<div id="main" class="class 1"> 10 </div>

If I do this :

TextBetween(MyField, '<div id="main" class="content 1">', '</div>')

I'll get my desired result, which is 10.

But sometimes the content of class is class 1, sometimes is class 2, or 3.

But, if I try this to include all the possibilities :

TextBetween(MyField, '<div id="main" class="content *">', '</div>')

it doesn't recognize the '*' to get a regular expression.

How could I do this?

Regards, Marcel.

Labels (2)
4 Replies
sunny_talwar

How about doing just this

TextBetween(MyField, '">', '</div>')
petter
Partner - Champion III
Partner - Champion III

You mention regular expression - and Qlik doesn't support regular expressions ... although it supports wildcards in various contexts but not in the TextBetween() function.

 

TextBetween doesn't recognized tags at all just pure text so how about trying this expression:

    TextBetween( TextBetween( Field , '<div id="main" class="content ', '/div>') , '>' , '<' )

petter
Partner - Champion III
Partner - Champion III

This should be even more exact:

TextBetween(
    Replace(Replace(Replace( MyField
        , 'class="content 1"' , '§' )
        , 'class="content 2"' , '§')
        , 'class="content 3"' , '§'
    )
    ,'<div id="main" §>', '</div>'
)


Or slightly less readable:

TextBetween(Replace(Replace(Replace( MyField,'class="content 1"','§'),'class="content 2"','§'),'class="content 3"','§'),'<div id="main" §>','</div>')

marcel_olmo
Partner Ambassador
Partner Ambassador
Author

Thanks Peter! I've used your solution to make a workaround for my issue.

Regards, Marcel.