C# 怎么在文本文件中读取指定的多个相同字符?

我将一个文本文件读取到内存用(string类型),但是我要获取里面指定的多个相同字符该怎么获取,比如strings="sfd<%vfd%>fdsafd<%fdsfa%>f... 我将一个文本文件读取到内存用(string类型),但是我要获取里面指定的多个相同字符该怎么获取,比如string s="sfd<%vfd%>fdsafd<%fdsfa%>fdfd<%fdsf%>fdfas";我现在是想获取所有<%.....%>这个标记里面的字符。如果用int start = s.indexof("<%");int end = s.indexof("%>");response.write(str.Substring(i + 2, j - i - 2));方法,只能获取第一个标记的内容。怎么办能??? 展开
 我来答
匿名用户
2013-09-20
展开全部
using System;using System.Collections.Generic;using System.Text;using System.Text.RegularExpressions;namespace ConsoleApplication3{ class Program { static void Main(string[] args) {
string[] rvArr = GetSTr("sfd<%vfd%>fdsafd<%fdsfa%>fdfd<%fdsf%>fdfas"); for (int i = rvArr.Length - 1; i > -1; i--) { Console.WriteLine(rvArr[i]); } }
static string[] GetSTr(string strBefore) { System.Text.RegularExpressions.Regex reg=new Regex(@"(?<=\<%)[^<%>]*(?=%\>)"); MatchCollection marr = reg.Matches(strBefore); string[] arr=new string[marr.Count]; for (int i = 0; i < marr.Count; i++) { arr[i] = marr[i].Value; } return arr; } }}

用正则表达式吧
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
匿名用户
2013-09-20
展开全部
string s = "sfd<%vfd%>fdsafd<%fdsfa%>fdfd<%fdsf%>fdfas";
while (true)
{
if (s.IndexOf("<%") != -1)
{
int start = s.IndexOf("<%"); int end = s.IndexOf("%>"); Console.WriteLine(s.Substring(start + 2, end - start - 2)); s = s.Substring(end+2);
}
}
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式