首页 新闻 搜索 专区 学院

求一个简单的分析字符串的方法

0
悬赏园豆:20 [已解决问题] 解决于 2008-07-02 00:59
<P><FONT size=3>string a ="asdf&gt;a&lt;sdf&gt;SDF&gt;ttttt&lt;sdf&lt;&lt;&lt;&lt;&lt;dsf&gt;&gt;"</FONT></P> <P><FONT size=3>有这样的一个字符串,我想获取ttttt请问怎样获取?请提供方法</FONT></P> <P><FONT size=3>也就是说第三个 &gt; 和第二个 &lt; 之间的字符串,帮我写段小程序,非常感谢</FONT></P> <P>&nbsp;</P>
问题补充: 规则就是>符号和<符号: 想获取第三个 > 和第二个 < 之间的字符串 最好不要用正则表达式,用字符串分析的方法实现,哪位大侠帮我解决一下,谢拉
潇客的主页 潇客 | 初学一级 | 园豆:125
提问于:2008-07-01 19:04
< >
分享
最佳答案
0
static void Main(string[] args) { string a = ""; Console.WriteLine(GetWantedString(a, 3, '>', 2, '<')); Console.ReadLine(); } private static string GetWantedString(string strToSplit, int cOneIndex, char cOne, int cTwoIndex, char cTwo) { int start = 0, indexOne = 0; int end = 0, indexTwo = 0; char[] strSplited = strToSplit.ToCharArray(); for (int i = 0; i < strSplited.Length; i++) { if (strSplited[i] == cOne) { start++; if (start == cOneIndex) { indexOne = i; break; } } } for (int i = 0; i < strSplited.Length; i++) { if (strSplited[i] == cTwo) { end++; if (end == cTwoIndex) { indexTwo = i; break; } } } if (indexOne != 0 && indexTwo != 0) { return strToSplit.Substring(Math.Min(indexOne, indexTwo)+1, Math.Abs(indexTwo - indexOne)-1); } return "没有找到"; } //另外用正则表达式里的”零宽断言“也能实现
花生1 | 小虾三级 |园豆:872 | 2008-07-02 00:31
其他回答(2)
0
这个字符串是固定的,还是有规律的?如果就你说的那个字符串,用正则匹配一下,就出来了。
李.net | 园豆:874 (小虾三级) | 2008-07-01 20:25
0
Jared.Nie | 园豆:1940 (小虾三级) | 2008-07-01 21:49
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册