Đây là một cách nhanh chóng để làm điều đó, tôi có ý nghĩa.
Nó không sử dụng chức năng regex đắt tiền. Nó cũng không sử dụng nhiều chức năng thay thế mà mỗi cá nhân đã lặp qua dữ liệu với một số kiểm tra, phân bổ và v.v.
Vì vậy, tìm kiếm được thực hiện trực tiếp trong 1 cho vòng lặp. Đối với số lần công suất của mảng kết quả phải được tăng lên, một vòng lặp cũng được sử dụng trong hàm Array.Copy. Đó là tất cả các vòng lặp. Trong một số trường hợp, kích thước trang lớn hơn có thể hiệu quả hơn.
public static string NormalizeNewLine(this string val) {
if (string.IsNullOrWhiteSpace(val))
return val;
const int page = 6;
int a = page;
int j = 0;
int len = val.Length;
char[] res = new char[len];
for (int i = 0; i < len; i++) {
char ch = val[i];
if (ch == '\r') {
int ni = i + 1;
if (ni < len && val[ni] == '\n') {
res[j++] = '\r';
res[j++] = '\n';
i++;
} else {
if (a == page) { //ensure capacity
char[] nres = new char[res.Length + page];
Array.Copy(res, 0, nres, 0, res.Length);
res = nres;
a = 0;
}
res[j++] = '\r';
res[j++] = '\n';
a++;
}
}
else if (ch == '\n') {
int ni = i + 1;
if (ni < len && val[ni] == '\r') {
res[j++] = '\r';
res[j++] = '\n';
i++;
} else {
if (a == page) { //ensure capacity
char[] nres = new char[res.Length + page];
Array.Copy(res, 0, nres, 0, res.Length);
res = nres;
a = 0;
}
res[j++] = '\r';
res[j++] = '\n';
a++;
}
} else {
res[j++] = ch;
}
}
return new string(res, 0, j);
}
Hiện tại, '\ n \ r' không thực sự được sử dụng trên nền tảng cơ bản. nhưng: Ai sẽ sử dụng hai loại ngắt dòng liên tiếp để chỉ ra 2 dấu ngắt dòng? Nếu bạn muốn biết điều đó, bạn cần phải xem trước khi biết \ n và \ r đều được sử dụng riêng trong cùng một tài liệu hay không.
Nguồn
2017-11-17 11:17:35
Cũng hoạt động để hiển thị văn bản không xác định trên trang HTML bằng cách sử dụng thay thế cuối cùng để chèn thẻ BR. Server.HtmlEncode (đầu vào) .Đặt lại ("\ r \ n", "\ n") Thay thế ("\ r", "\ n") Thay thế ("\ n", "
"); –
Đường nối này để khắc phục sự cố với mẫu T4.Tôi tiếp tục nhận được lợi nhuận điên rồ trong sản lượng tạo ra của tôi. – DaImTo