2012-03-12 44 views
4

在我的陣列我正在此分裂與陣列/斜線從調試器


「/奔馳/ 190級/ 1993 /」類=「canonicalLink」數據的QString的字符串=」 ?子=轎車「> 1993年

我希望之後的每個 '/' 分割文本,並得到它的String [],這是我努力

Queue<string> see = new Queue<string>(); //char[] a = {'\n '}; 
     List<car_facts> car_fact_list = new List<car_facts>(); 
     string[] car_detail; 
     foreach (string s in car) 
     { 

      MatchCollection match = Regex.Matches(s, @"<a href=(.+?)</a>", 
      RegexOptions.IgnoreCase); 

      // Here we check the Match instance. 
      foreach(Match mm in match) 
      { 
       // Finally, we get the Group value and display it. 
       string key = mm.Groups[1].Value; 
       //key.TrimStart('"'); 
       //key.Trim('"'); 
       key.Trim(); 

       **car_detail = Regex.Split(key, "//");**//I tried with strin.Split as well and tried many combination of seperator , 

       see.Enqueue(key); 
      } 

}

在car_detail [0] I得到這個 「$ [鏈接]」> $ [標題]

從該字符串 「/奔馳/ 190級/ 1993 /」 類= 「canonicalLink」 數據的QString = 「?子=轎車」> 1993年

回答

12

你爲什麼在這裏使用了雙斜槓目前尚不清楚...

string[] details = key.Split('/'); 

應該正常工作。 (請注意,正向斜線沒有在C#進行轉義。)例如:

using System; 

class Test 
{ 
    static void Main() 
    { 
     string text = "/mercedes-benz/190-class/1993/"; 
     string[] bits = text.Split('/'); 
     foreach (string bit in bits) 
     { 
      Console.WriteLine("'{0}'", bit); 
     } 
    } 
} 

輸出:

'' 
'mercedes-benz' 
'190-class' 
'1993' 
'' 

空字符串是由於前緣和後斜線。如果你想避免這些,你可以使用

string[] details = key.Split(new[] {'/'}, StringSplitOptions.RemoveEmptyEntries); 

注:

  • car_facts是C#中的高度非常規的名字。通常你會有類似CarFacts(或可能只有CarCarInfo等)。同樣car_fact_list通常是carFactList或類似的東西。

  • 此代碼不會做你期望它什麼:

    key.Trim(); 
    

    字符串在.NET不變的 - 所以Trim()返回到字符串的引用,而不是改變現有的內容一。你可能想:

    key = key.Trim(); 
    
  • 你當前值分配給car_detail但從來沒有使用它。爲什麼?

  • 使用正則表達式解析HTML通常是一個非常糟糕的主意。考慮使用HTML Agility Pack或類似的東西。

+0

我想它已經,它不工作 – 2012-03-12 19:55:09

+0

@RobustRob:這肯定會* *工作 - 我給一個簡短但完整的例子。請提供比「不工作」(原文如此)更多的信息。與您的預期相比,它做了什麼? – 2012-03-12 19:55:41

+0

我得到相同的「$ [link]」> $ [標題],這裏是一個東西,我告訴你這些調試器中的值的結果,我正在使用VS 2010 WPF C#應用程序 – 2012-03-12 19:58:19