Me siento un poco tonto al publicar esto cuando esto parece un poco simple y hay toneladas de preguntas sobre cadenas / caracteres / expresiones regulares, pero no pude encontrar lo que necesitaba (excepto en otro idioma: Eliminar todo el texto después de cierto punto ).
Tengo el siguiente código:
[Test]
public void stringManipulation()
{
String filename = "testpage.aspx";
String currentFullUrl = "http://localhost:2000/somefolder/myrep/test.aspx?q=qvalue";
String fullUrlWithoutQueryString = currentFullUrl.Replace("?.*", "");
String urlWithoutPageName = fullUrlWithoutQueryString.Remove(fullUrlWithoutQueryString.Length - filename.Length);
String expected = "http://localhost:2000/somefolder/myrep/";
String actual = urlWithoutPageName;
Assert.AreEqual(expected, actual);
}
Intenté la solución en la pregunta anterior (¡esperando que la sintaxis sea la misma!) Pero no. Primero quiero eliminar queryString, que podría tener cualquier longitud variable, luego eliminar el nombre de la página, que nuevamente podría tener cualquier longitud.
¿Cómo puedo eliminar la cadena de consulta de la URL completa de modo que pase esta prueba?
/
?