Regex with StreamReader
本文关键字:StreamReader with Regex | 更新日期: 2023-09-27 18:20:05
我对streamreader有一个有趣的问题。
我的代码:
string file, text;
MatchCollection mcol;
private void btnGozat_Click(object sender, EventArgs e)
{
file = "c:/filelist.txt";
StreamReader sr = new StreamReader(@file,Encoding.Default);
text = sr.ReadToEnd();
Regex myreg = new Regex(@"['d]{1,10}'n{1}('d{2}:'d{2}:'d{2},'d{3}) --> ('d{2}:'d{2}:'d{2},'d{3})'s*(['w ığüşöçĞÜŞİÖÇâêî.!" + "'"" + @":''-''?'^,'s]*)('n)$", RegexOptions.Multiline);
mcol = myreg.Matches(text);//<<<<<<<<<<<<<<<<<< care this row
for (int i = 0; i < mcol.Count; i++)
{
cbList.Items.Add(i.ToString());
}
}
当我尝试这个代码mcol。计数为0并且任何未添加cbList.
的项目但是,当我在写richtextbox1时给变量发文本,并将此行更改为"mcol = myreg.Matches(richtextbox1.text);
"时,它就起作用了。
private void btnGozat_Click(object sender, EventArgs e)
{
file = "c:/filelist.txt";
StreamReader sr = new StreamReader(@file, Encoding.Default);
icerik = sr.ReadToEnd();
richTextBox1.Text = icerik;//<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<<
Regex myreg = new Regex(@"['d]{1,10}'n{1}('d{2}:'d{2}:'d{2},'d{3}) --> ('d{2}:'d{2}:'d{2},'d{3})'s*(['w ığüşöçĞÜŞİÖÇâêî.!" + "'"" + @":''-''?'^,'s]*)('n)$", RegexOptions.Multiline);
mcol = myreg.Matches(richTextBox1.Text);//<<<<<<<<<<<<<<<<<<<When i change this row it working
for (int i = 0; i < mcol.Count; i++)
{
cbList.Items.Add(i.ToString());
}
}
我的正则表达式正在工作,我尝试。
我认为问题出在编码中。查看文件使用的编码类型。编码。默认值可能是ASCII,所以您可以尝试使用Unicode。