2013-04-26 93 views
2

我有以下代碼:如何從字符串中選擇特定元素?

class Program 
{ 
    static void Main(string[] args) 
    { 
     string linie; 
     foreach (string elem in Directory.GetFiles(@"C:\Users\A\Desktop\FIles", "*.txt")) 
     { 
      Console.WriteLine(elem); 
      StreamReader reader = new StreamReader(elem); 
      { 
       while (!reader.EndOfStream) 
       { 
        linie=reader.ReadLine(); 
        Console.WriteLine(linie);       
       } 
      } 
      reader.Close(); 

     } 
     Console.ReadKey(); 
     Console.WriteLine(DateTime.ParseExact("5/10/2005", "m/d/yyyy", null).Day); 
    } 
} 

我需要的是,只選擇一個文件中的日期。
例如,如果我有字符串「的日期是20/2/2012」,在一個.txt文件,我只需要20/2/2012以和。減去將其與當前的日期進行比較。

+2

將字符串總是支持相同? (不是日期,但另一部分) – phadaphunk 2013-04-26 23:07:25

+0

我希望它會。就目前而言,讓我們認爲這將是始終不變的 – user2325553 2013-04-26 23:08:54

+0

您可以添加一個':它'和分裂。 (懶惰溶液) – phadaphunk 2013-04-26 23:10:19

回答

2

如果你想要一個簡單的解決方案偷懶,你可以隨時添加一個:Split就可以了。 (你可以在空格上分割,但是我不得不計算索引,我不想這樣做)。

string dateFromFile = "The date is : 20/2/2012"; 
string[] dateString = dateFromFile.Split(':'); 

string myDate = dateString[1]; 

好吧,我看了看我的回答,決定我是懶得......

string dateFromFile = "The date is 20/2/2012"; 
string[] dateString = dateFromFile.Split(' '); 

string myDate = dateString[3]; 

它分割字符串每次它看到sepcified字符,返回String[]

在第二個例子(其中,我在白色空間分割,該陣列是這樣的)

dateString[0] = "The" 
dateString[1] = "date" 
dateString[2] = "is" 
dateString[3] = "20/2/2012" 
+0

使得.Split(「:」)被分裂字符串轉換成2份? – user2325553 2013-04-26 23:16:03

+0

@ user2325553:它將該字符串轉換成陣列之間的每個令牌給定的分隔符填充陣列中的索引。這裏是documenation:http://msdn.microsoft.com/en-CA/library/b873y76a.aspx – 2013-04-26 23:19:05

+0

我現在我要做的理解。謝謝 – user2325553 2013-04-26 23:21:24

相關問題