2013-03-26 86 views
-3

什麼是從指定字符串中提取子字符串的最佳方法和優化方式。從字符串中提取子字符串

我的主要串等,其中價值AAA0和BBB1動態值從什麼地方收集

string str = "<ABCMSG><t>ACK</t><t>AAA0</t><t>BBB1</t></ABCMSG>"; 

我需要在這裏提取AAA0和BBB1。

請給我建議,如果有任何功能或優化方式來做到這一點。

謝謝!

+3

有沒有需要發佈的東西兩次,你已經問在這裏http://stackoverflow.com/questions/15641113/extract-two-substrings -from-a-string – coolmine 2013-03-26 15:56:52

+1

取決於複雜性。如果您正在查看完整的XML或HTML,那麼一個好的XML或HTML解析器會很好。如果每個字符串都像您指出的那樣簡單,那麼我會看看正則表達式 – riwalk 2013-03-26 15:57:01

回答

0

路與XmlDocument的做

void Main() 
{ 
    string str = "<ABCMSG><t>ACK</t><t>AAA0</t><t>BBB1</t></ABCMSG>"; 
    XmlDocument doc = new XmlDocument(); 
    doc.LoadXml(str); 
    var t = doc.GetElementsByTagName("t"); 
    Console.WriteLine(t[1].InnerText); 
    Console.WriteLine(t[2].InnerText); 
} 
0

這一切都意味着效率低下,但它確實符合你的要求。它做出了一些假設,即周圍XML的佈局是不變的。

var foo = "<ABCMSG><t>ACK</t><t>AAA0</t><t>BBB1</t></ABCMSG>"; 
var ary = XDocument.Parse(foo).Root.Elements().ToArray(); 

// ary[1].Value -> AAA0 
// ary[2].Value -> BBB1 
相關問題