Eu me sinto meio idiota ao postar isso quando isso parece meio simples e há toneladas de perguntas sobre strings / caracteres / regex, mas não consegui encontrar exatamente o que eu precisava (exceto em outro idioma: Remover todo o texto após determinado ponto ).
Eu tenho o seguinte 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);
}
Eu tentei a solução na pergunta acima (esperando que a sintaxe fosse a mesma!) Mas não. Quero primeiro remover a queryString que pode ter qualquer tamanho variável e, em seguida, remover o nome da página, que novamente pode ter qualquer tamanho.
Como posso remover a string de consulta do URL completo para que este teste seja aprovado?
/
?