Bất kỳ ý tưởng nào?Cố gắng thay thế tất cả không gian màu trắng bằng một không gian đơn
Chương trình của tôi là tiện ích xác thực tệp và tôi phải đọc trong tệp định dạng rồi phân tích từng dòng theo một dấu cách. Nhưng rõ ràng, người đã viết tệp định dạng có thể sử dụng các tab hoặc 2 khoảng trắng hoặc bất kỳ hình thức khoảng trắng nào và tôi đang tìm một số mã để thực hiện điều đó. Tôi đã thử điều này:
public static string RemoveWhitespace(this string line)
{
try
{
return new Regex(@"\s*").Replace(line, " ");
}
catch (Exception)
{
return line;
}
}
Tôi cho rằng điều này là sai.
Trợ giúp!
Nếu bạn đang đi để làm rất nhiều này lần bạn có thể muốn để lưu trữ các cấu trúc đối tượng Regex trước. Một độc lập tĩnh đọc sẽ làm. Sau đó, bạn tránh việc tạo ra các động cơ regex mỗi khi bạn sẽ thay thế một dòng. – Skurmedel
@Skurmedel: Hoặc chỉ sử dụng phương thức 'Regex.Replace' tĩnh dựng sẵn. – LukeH
@ LukeH: Tôi nghĩ bạn đã bỏ lỡ quan điểm của tôi. Có một lý do tại sao bạn có thể xây dựng trước các đối tượng regex, và không chỉ để dễ dàng sử dụng lại. Xem tại đây http://msdn.microsoft.com/en-us/library/system.text.regularexpressions.regex.aspx "Phương pháp tĩnh so với sơ thẩm". Cấp, nếu anh ta/cô ấy không sử dụng 15 regexes khác nhau trong ứng dụng của mình có lẽ không có vấn đề. Nhưng tôi không biết ứng dụng của anh ta/cô ấy. Đó là lý do tại sao tôi nói "có thể". – Skurmedel