1

I am looking for a way to parse URL without queryString using Regular expression.

i have url like "http://abc.com/csd?/aaa/bbb"

expected is like "http://abc.com/csd"

Anybody help me on this.

Pratik
  • 30,639
  • 18
  • 84
  • 159
Pradeep
  • 4,612
  • 10
  • 38
  • 50

3 Answers3

10

If you just want everything before the query string:

^[^?]+
Petar Ivanov
  • 91,536
  • 11
  • 82
  • 95
4
Regex r = new Regex("(^[^?]+)");
Match m = r.Match("http://example.com/csd?/aaa/bbb");
// m.Groups[0].Value is your URL
sanmai
  • 29,083
  • 12
  • 64
  • 76
2

You could use Substring and IndexOf

var someString = "http://abc.com/csd?/aaa/bbb";
someString.Substring(0, someString.IndexOf('?') - 1);

while this does not fully comply with the requirements stated in your question, it might be an easier approach - if actual implementation does not need to be RegEx.

yas4891
  • 4,774
  • 3
  • 34
  • 55