日期:2014-05-18  浏览次数:20772 次

从字符串中提取特定的数据的问题
比如有这样一个字符串:
"CES2321,A320,M,ZLXY,13:15,,ZGDY,14:35,,,,W/Z,#ZLXY,1315,S0000,*,#P165,1405,S0900,EW,#DYG,1408,S0900,EW,"
我现在要取出所有"#"与","之间的字符串,以及后面的四位数据,比如例子中,我要取出的是ZLXY,然后是1315,接着取出P165,然后是1405,然后是DYG,接着是1408.请问怎么办?

------解决方案--------------------
正则表达式:
@"#(.*?),(\d{4})"
两个捕获型括号中的内容就是所需的。
------解决方案--------------------

string yy="CES2321,A320,M,ZLXY,13:15,,ZGDY,14:35,,,,W/Z,#ZLXY,1315,S0000,*,#P165,1405,S0900,EW,#DYG,1408,S0900,EW,";
string y1=Regex.Match(yy,@"#(\w+),(\d+)").Result("$1");//"#"与","之间的字符串
string y2=Regex.Match(yy,@"#(\w+),(\d+)").Result("$2");//后面的四位数据
------解决方案--------------------
我想应该是:
C# code
  string s1 = m.Groups[0].Value;
  string s2 = m.Groups[1].Value;

------解决方案--------------------
先用SPLIT() 拆分再SUBSTRING截取,最后连接起来就可以啦