Je me sens un peu bête de poster ceci alors que cela semble simple et qu'il y a des tonnes de questions sur les chaînes de caractères, les caractères et les expressions rationnelles, mais je n'ai pas trouvé ce dont j'avais besoin (sauf dans une autre langue) : http://stackoverflow.com/questions/2176544/remove-all-text-after-certain-point ).
J'ai le code suivant :
[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);
}
J'ai essayé la solution de la question ci-dessus (en espérant que la syntaxe soit la même !) mais non. Je veux d'abord supprimer la queryString, qui peut avoir une longueur variable, puis le nom de la page, qui peut lui aussi avoir une longueur variable.
Comment puis-je supprimer la chaîne de requête de l'URL complète pour que ce test passe ?