你可以簡單地做實現這一目標:
var trimmed = text.Substring(0, text.LastIndexOf("\r\n"));
測試了:
var text = File.ReadAllText("data.txt"); // "row1\r\nrow2\r\nrow3"
var trimmed = text.Substring(0, text.LastIndexOf("\r\n")); // "row1\r\nrow2"
你的雙亞拉絲建議用一個空行數據結束。如果是這樣,那麼你需要它的second last index:
string value = "\r\n";
var text = File.ReadAllText("data.txt"); //"row1\r\nrow2\r\nrow3\r\n"
int lastPosition = text.LastIndexOf(value);
var trimmed = text.Substring(0, text.LastIndexOf(value, lastPosition-1)); // "row1\r\nrow2"
最後 - 見@ serge.karalenka建議使用Environment.NewLine
,而不是"\r\n"
如果您有沒有新的選項那麼你應該:
var trimmed = text.Substring(0, lastPosition == -1 ? text.Length :
text.LastIndexOf(Environment.NewLine, lastPosition - 1));
這是給我的「ArgumentOutOfRangeException:不能爲負」 – FLX
@FLX哪一個? –
第二個。你說得對,總是有一條空白的路線。 – FLX