มีวิธีที่ดีกว่านี้ไหม ...
MyString.Trim().Replace("&", "and").Replace(",", "").Replace(" ", " ")
.Replace(" ", "-").Replace("'", "").Replace("/", "").ToLower();
ฉันได้ขยายคลาสสตริงเพื่อให้มันเหลือเพียงงานเดียว แต่มีวิธีที่เร็วกว่านี้ไหม
public static class StringExtension
{
public static string clean(this string s)
{
return s.Replace("&", "and").Replace(",", "").Replace(" ", " ")
.Replace(" ", "-").Replace("'", "").Replace(".", "")
.Replace("eacute;", "é").ToLower();
}
}
เพียงเพื่อความสนุกสนาน (และเพื่อหยุดการโต้แย้งในความคิดเห็น) ฉันได้เพิ่มส่วนสำคัญในการเปรียบเทียบตัวอย่างต่างๆด้านล่าง
ตัวเลือก regex ทำคะแนนได้แย่มาก ตัวเลือกพจนานุกรมเกิดขึ้นเร็วที่สุด การเปลี่ยนสตริงบิลด์เดอร์รุ่นยาวจะเร็วกว่ามือสั้นเล็กน้อย