如何拆分正则表达式而不在一行中显示文本文件中的文本
本文关键字:文本 一行 显示 文件 何拆分 拆分 正则表达式 | 更新日期: 2023-09-27 17:55:59
我有两个小问题在挣扎。两者都真的处理台词。
1:如何将以下正则表达式代码放入 Split()?
Regex(@"'r'n|'n|'r", RegexOptions.Singleline)
int num = copyText.Split().Length - 1;
//copyText is a string
2:当我从富文本框写入文本文件时,文本文件中的所有文本都显示在一行上。如何使文本在富文本框中显示?
private void Write(string file, string text) {
//Check to see if _Parsed File exists
if (File.Exists(file)) {
//Write to _Parsed text file
using(StreamWriter objWriter = new StreamWriter(file)) {
objWriter.Write(text);
objWriter.Close();
}
} else {
MessageBox.Show("No file named " + file);
}
}
private void btnReplace_Click(object sender, EventArgs e) {
// Replace -ing ending words to XXXXXX code goes here...
//Write into richTextBox2
wholeText = richTextBox1.Text + oldSummary + copyText + newSummary;
Write(Second_File, wholeText);
richTextBox2.Text = wholeText;
}
对于第一个问题,请尝试以下操作:
int num = Regex.Split(copyText, @"'r'n|'n|'r").Count - 1;
请参阅: MSDN
对于第二个尝试:
File.WriteAllLines(FileName, richTextBox.Lines);
请阅读可能的配音:从富文本框到文本文件,一行又一行
RichTextBox.SaveFile(string path, RichTextBoxStreamType);
内置功能
1:我建议:
int num = copyText.Split(new string[] { Environment.NewLine },
StringSplitOptions.None).Count();
2:确保富文本框1。多行设置为真
第一个选项
我会像这样重写 Write 方法:
private void Write(string file, RichTextBox box)
{
if (File.Exists(file))
{
System.IO.File.WriteAllLines(file, box.Lines);
}
else
{
MessageBox.Show("No file named " + file);
}
}
第二个选项
private void Write(string file, RichTextBox box)
{
if (File.Exists(file))
{
StreamWriter sw = File.CreateText(file);
for (int i = 0; i < box.Lines.Length; i++)
{
sw.WriteLine(box.Lines[i]);
}
sw.Flush();
sw.Close();
}
else
{
MessageBox.Show("No file named " + file);
}
}
如果你愿意,你也可以尝试每一个。
第二个选项更复杂,但更好。
并将 RichTextBox 作为变量传递给 Write 方法,如下所示:
Write(@"C:'path'to'file.ext", RichTextBox boxToWrite);