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));方法,只能获取第一个标记的内容。怎么办能???
展开
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; } }}
用正则表达式吧
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);
}
}
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);
}
}
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询