Tôi nghĩ rằng giải pháp BrokenGlass là một tốt nhất, nhưng cá nhân tôi sẽ thích để tạo ra ba phương pháp riêng biệt cho phép người dùng cắt chỉ bắt đầu, kết thúc hoặc cả hai.
Nếu những phiền phức này sẽ được sử dụng nhiều, tôi sẽ tạo chúng trong lớp trợ giúp và/hoặc làm phương pháp mở rộng; http://msdn.microsoft.com/en-gb/library/vstudio/bb383977.aspx
public string TrimStart(string inputText, string value, StringComparison comparisonType = StringComparison.CurrentCultureIgnoreCase)
{
if (!string.IsNullOrEmpty(value))
{
while (!string.IsNullOrEmpty(inputText) && inputText.StartsWith(value, comparisonType))
{
inputText = inputText.Substring(value.Length - 1);
}
}
return inputText;
}
public string TrimEnd(string inputText, string value, StringComparison comparisonType = StringComparison.CurrentCultureIgnoreCase)
{
if (!string.IsNullOrEmpty(value))
{
while (!string.IsNullOrEmpty(inputText) && inputText.EndsWith(value, comparisonType))
{
inputText = inputText.Substring(0, (inputText.Length - value.Length));
}
}
return inputText;
}
public string Trim(string inputText, string value, StringComparison comparisonType = StringComparison.CurrentCultureIgnoreCase)
{
return TrimStart(TrimEnd(inputText, value, comparisonType), value, comparisonType);
}
Với các phương pháp này, chúng tôi có thể sửa đổi mã để lặp qua mảng chứa chuỗi cần cắt.
var content = "08:00 AM";
var removeList = new [] { "a", "am", "p", "pm" };
for (var i = 0; i < removeList.length; i++)
{
content = TrimEnd(content, removeList[i]);
}
LƯU Ý: Mã này có thể được tối ưu hóa hơn nữa, nhưng sẽ hoạt động với tốc độ tốt.
Nguồn
2013-04-10 13:36:46
Khi nào cần xóa? Bạn rõ ràng đang cố gắng giải quyết một tình trạng khó xử thời gian. Có thể có một cách tốt hơn để giải quyết vấn đề của bạn hoàn toàn –
Khi hộp văn bản bị mất tiêu điểm, sự kiện 'OnLeave'. – Entity
Tại sao bạn muốn thực hiện việc này? Sử dụng Danh sách chung – Shahin