Tokenizer.ProbeURL C# (CSharp) Method

ProbeURL() private method

private ProbeURL ( string &str ) : bool
str string
return bool
    private bool ProbeURL(ref string str) 
    {
      int ch = Peek();
      if ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || (ch >= 128 && ch <= 255) || (ch >= '0' && ch <= '9') || ch == '-' || ch == '%' || ch == '!' || ch == '#' || ch == '$' || ch == '%' || ch == '&' || ch == '*' || ch == '~'  || ch == '_' ) 
      {
        System.Text.StringBuilder sb = new System.Text.StringBuilder(ch);
        ReadChar();
        ch = Peek();
        while ((ch >= 'a' && ch <= 'z') || (ch >= 'A' && ch <= 'Z') || (ch >= 128 && ch <= 255) || (ch >= '0' && ch <= '9') || ch == '-' || ch == '%'  || ch == '_' ) 
        {
          ReadChar();
          sb.Append((char)ch);
          ch = Peek();
        };
        str = sb.ToString();
        return true;
      } 
      else 
      {
        return false;
      }
    }