2013-03-26 200 views
-3

什么是从指定字符串中提取子字符串的最佳方法和优化方法。从一个字符串中提取两个子字符串

我的主弦就像

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

其中值AAA0BBBB1不contstant。它是从某处收集的动态值。

我需要在这里提取AAA0和BBBB1。

请给我建议,如果有任何功能或优化方式来做到这一点。

谢谢!

+4

你没有描述任何关于它的意思是什么值。他们总是四个字母和一个数字?你想要输入“ABCDEFGHIJKL”怎么办? – 2013-03-26 15:36:30

+0

你的意思是什么?*不是常数*和*动态*? AAAA1也可以是'XYZW1'或'A1'或'AAAA2'吗? – Nolonar 2013-03-26 15:37:16

+0

...或aAanannanannn1和BbBbBbBbBbBb666? – ppeterka 2013-03-26 15:38:07

回答

2
string str = @"<ABCMSG><t>ACK</t><t>AAA0</t><t>BBBB1</t></ABCMSG>"; 
var matches = Regex.Matches(str, @"<t>(\w+)<\/t>"); 

Console.WriteLine(matches[1].Groups[1]); // outputs "AAAA1" 
Console.WriteLine(matches[2].Groups[1]); // outputs "BBB2" 

这是假设你的数据始终是一个<t></t>标签内,也可能会想要做一些错误的情况下,捕捉没有找到匹配。

相关问题