C#读取txt文件,一行行的读取其内容,截取特定字符放数组里。

如上图txt文件,我一行行读取如何将以#start开头,#end结尾的字符串放到字符串数组里。
即实现下列效果 S[0]="人生若只如初见"
S[1]="我的中国心"
S[2]="的思考的紧身裤\n大苏打饭店"

希望大虾给出源码。

第1个回答  2012-12-29
这个问题其实比较简单,如果你读取的文本文件很大的话,我建议用文件流的方式读取,如果小的话可以不用,具体实现是:
path="你的文本文件的路径";
//定义一个全局变量的数组,用于接收一会儿切割的字符数据
string[] strResult=null;
//读取每一行数据,存放到数组中
string[] strTxt=File.ReadAllLines("path");
//遍历数组
for(int i=0;i<strTxt.length;i++)
{
//切割每一行的数据,按照#start与#end结尾,并移除多余的空格
string[] strSplit=str.Split(new string[] { "#start", "#end" }, StringSplitOptions.RemoveEmptyEntries);
string str="";

循环切割完毕的数组,连接为字符串

for(int j=0;j<strSplit.length;j++)

{
//切割完的字符串,如果文本中每一行字符串比较多的话建议用sb,效率比较高

str+=strSplit[j];

}
//将切割完的字符串添加到字符串数组中

strResult[i]=str;

}
//好了,strResult数组中存放的就是你的结果了
---------------------------------华丽的分割线,补充---------------------------
其实更简单的方式就是通过正则表达式,匹配#start #end,然后再填充到字符串数组中,先匹配出#start XXX #end这个东西,然后用$将XXX拿出来再添加到数组中就可以了,好了,到此结束
第2个回答  2012-12-29
private List<string> GetStartAndEndString()
{
List<string> strList = new List<string>();
byte[] bytes = File.ReadAllBytes("c:\\a.txt");
if (bytes != null && bytes.Length > 0)
{
string fileStr = System.Text.Encoding.Default.GetString(bytes);
MatchCollection mcs = System.Text.RegularExpressions.Regex.Matches(fileStr, "#start(?<str>[\\s\\S]*?)#end");
if (mcs.Count > 0)
{
foreach (Match m in mcs)
{
strList.Add(m.Groups["str"].Value);
}
}
}
return strList;
}本回答被网友采纳

C#读取txt文件,一行行的读取其内容,截取特定字符放数组里。
string[] strResult=null;\/\/读取每一行数据,存放到数组中 string[] strTxt=File.ReadAllLines("path");\/\/遍历数组 for(int i=0;i<strTxt.length;i++){ \/\/切割每一行的数据,按照#start与#end结尾,并移除多余的空格 string[] strSplit=str.Split(new string[] { "#start", "#end" }, ...

c#怎么一行一行的读取TXT文本 每读取一行内容 就把这一行的内容写入一个...
string line = string.Empty;List<string> lines = new List<string>();using (StreamReader reader = new StreamReader(@"text1.txt")){ line = reader.ReadLine();while (line !=""&&line !=null){ lines.Add(line);Console.WriteLine(line);line = reader.ReadLine();} } ...

C#如何获取txt文本文档中指定的字符串并赋给数组,例如:获取文本文档...
string[] SplitArray;SR = File.OpenText("D:\\\\xx.txt"); \/\/字符串所在文件 S = SR.ReadLine(); \/\/读一行 if(S != null){ SplitArray = S.Split('='); \/\/把字符串分成字符串数组,abcd,1234等等。\/\/...这里写你处理字符串的代码 \/\/...} SR.Close(); \/\/关闭文件 如果想把文...

C#里面如何将.txt文件中的数据读入,存入数组
System.IO.TextReader reader = new System.IO.StreamReader(filePath);使用 reader.ReadLine()或reader.ReadToEnd()获取字符串,按照你的需要存入数组即可

C#语言如何把txt的文件的每一行读出来(一行中有两个数,格式:2,3)把...
\/\/创建一个二维数组,C#中List与正常的数组使用方法是相同的 List<List<int>> result = new List<List<int>>();\/\/初始化一个StreamReader对象用于输入流的读取,构造函数传入一个文件流的对象 StreamReader sr = new StreamReader(new FileStream("tmp.txt",FileMode.Open));\/\/循环读取一行字符串 ...

C#中如何将txt文件中的内容读取到字符串数组
先要获取TXT的行数,这个你自己弄吧。下面代码是把每个字符串读入到string[] aa中;FileStream fs = new FileStream("d:\\\\1.txt", FileMode.Open);StreamReader m_streamReader = new StreamReader(fs);m_streamReader.BaseStream.Seek(0, SeekOrigin.Begin);string strLine = m_streamReader....

C# wpf 读取指定的txt,读取其中的指定的几行。去掉这几行字符串间的空 ...
\/\/\/ \/\/\/ 返回选中的文件路径字符串数组 \/\/\/ \/\/\/ <returns><\/returns> private string[] GetFilePath(){ string filePathStr = "";foreach (DataGridViewRow vr in dataGridView1.Rows){ if (vr.Cells["UsedMarked"].Value.ToString().ToLower() == "true"){ filePathStr = filePat...

C#读取txt文本文件中的数据
1、首先先来看一下准备的txt文本文件的内容。2、然后在程序中引入操作文件的命名空间System.IO。3、接下来需要定义一个变量,存储文件所在的路径。4、然后先读取文本内容,调用File类的ReadAllLines即可读取所有内容。5、接下来是写入内容,按照下图的方式,准备要写入的内容。6、准备好内容以后,调用File...

c#如何把textbox里得数据按行读取到一个数组里,一行数一个数组元素
string[] lines = textBox1.Text.Split('\\n'); \/\/一行对应一元素找特定字符就是用IndexOf,只不过这个只返回第一个匹配的位置,所以你要用循环,一直找直到IndexOf返回<0的数。

C#读取资源文件中的txt
C#怎么把Resources中存储的Txt文档按行读取到一个string型的数组中,急求方法。... C#怎么把Resources中存储的Txt文档按行读取到一个string型的数组中,急求方法。 展开  我来答 分享 新浪微博 QQ空间 若以下回答无法解决问题,邀请你更新回答 2个回答 #热议# 00后是否面临着比90后更严峻的就业危机? j88r ...

相似回答