2011-09-26 44 views
0

我想刪除"2011"一切刪除文本前加上"2011"後一個空格(" ")。使用正則表達式

不太知道如何處理,這一切我能想到的是一個簡單的正則表達式般的查找和替換。

string temp; 
StringBuilder sb = new StringBuilder(); 
string[] file = File.ReadAllLines(@"TextFile1.txt"); 
foreach (string line in file) 
{ 
    if (line.Contains(" ")) 
    { 
     temp = line.Replace(" ", " "); 
     sb.Append(temp + "\r\n"); 
     continue; 
    } 
    else 
     sb.Append(line + "\r\n"); 
} 
File.WriteAllText(@"TextFile1.txt", sb.ToString()); 

我已經修改了我的代碼,並運行一下運行它。修改如下所示:

if (line.Contains("2011")) 
    { 

    temp = line.Substring(line.IndexOf("2011 ") + 5); 


    sb.Append(temp + "\r\n"); 

    continue; 

    } 
+0

目前還不清楚你的輸出應該看起來像;您將2011指定爲搜索字符串,但您的代碼沒有提及可以傳入以進行搜索的此參數或參數。你只是想消除多餘的空間? –

+0

我已經消除了額外的空間,我有更多的現在,以消除一些,每行有2011及之前的一些文字,我必須消除2011年之前,一切都在這條線。 – Liger86

+0

653 2011年9月23日21 27 32 40 52 36 - 是例如線Im與 – Liger86

回答

2
string s = "653 09-23-2011 21 27 32 40 52 36 "; 
s = s.Substring(s.IndexOf("2011 ") + 5); 

其結果是,S = 「21 27 32 40 52 36」