Dough
Dough

Reputation: 455

Detecting string starting with expression and case-insensitive

In my iPhone app I'm actually detecting text/html content type before showing data in an UIWebView or UITextView.

I detect this with a ContentType variable starting with "text/html", full variable looks like "text/html; charset=utf-8".

So for the moment I use this :

if (myContentType hasPrefix:@"text/html")

This is fine, but case-sensitive !

So when I have a "TEXT/HTML" content type, that doesn't work.

Is there a way to have the "hasPrefix" method getting case-insensitive ?

Thanks in advance :)

Upvotes: 5

Views: 1908

Answers (2)

Claus Broch
Claus Broch

Reputation: 9212

Since you are dealing with relative small strings, a quick method could be to convert myContentType to lower case before doing the comparison.

Upvotes: 8

Vladimir
Vladimir

Reputation: 170859

You can use rangeOfString:options: function:

NSRange range = [myContentType rangeOfString:@"text/html" options: NSCaseInsensitiveSearch| NSAnchoredSearch];
if (range.location != NSNotFound)
     ...

Upvotes: 11

Related Questions