ฉันรู้สึกโง่ที่โพสต์สิ่งนี้เมื่อดูเหมือนง่ายและมีคำถามมากมายเกี่ยวกับสตริง / ตัวอักษร / regex แต่ฉันไม่สามารถหาสิ่งที่ฉันต้องการได้ (ยกเว้นในภาษาอื่น: ลบข้อความทั้งหมดหลังจากจุดแน่นอน )
ฉันได้รับรหัสต่อไปนี้:
[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);
}
ฉันลองวิธีแก้ปัญหาในคำถามข้างต้น (หวังว่าไวยากรณ์จะเหมือนเดิม!) แต่ไม่ ฉันต้องการลบ queryString ก่อนซึ่งอาจเป็นความยาวตัวแปรใด ๆ จากนั้นลบชื่อหน้าซึ่งอาจมีความยาวได้อีกครั้ง
ฉันจะขอลบข้อความค้นหาออกจาก URL แบบเต็มที่การทดสอบนี้ผ่านได้อย่างไร
/
?