如何删除richtextbox中的间距?

与此问题相关,我想删除我的richtextbox中的间距,因为显示将始终包含如下的间距:

Hello Hello Hello 

我想修改将显示此文本的代码:

 Hello Hello Hello 

我该怎么办? 有谁知道? 谢谢

这是代码:

 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; using System.Windows; using System.Windows.Controls; using System.Windows.Data; using System.Windows.Documents; using System.Windows.Input; using System.Windows.Media; using System.Windows.Media.Imaging; using System.Windows.Navigation; using System.Windows.Shapes; using System.IO.Ports; using System.Threading; using System.Windows.Threading; using System.Data.SQLite; using System.Text.RegularExpressions; namespace SerialTrial { ///  /// Interaction logic for MainWindow.xaml ///  public class ThreadExample { FlowDocument mcFlowDoc = new FlowDocument(); Paragraph para = new Paragraph(); public static void ThreadJob(MainWindow mainWindow) { string dBConnectionString = @"Data Source = C:\Users\Documents\Visual Studio 2012\Projects\SerialTrial\SerialTrial\bin\Debug\employee.sqlite;"; SQLiteConnection sqliteCon = new SQLiteConnection(dBConnectionString); //open connection to database try { sqliteCon.Open(); SQLiteCommand createCommand = new SQLiteCommand("Select empID from EmployeeList", sqliteCon); SQLiteDataReader reader; reader = createCommand.ExecuteReader(); //richtextbox2.Document.Blocks.Clear(); while (reader.Read()) { string Text = (String.Format("{0}", Object.Equals(Variables.buffering, reader.GetValue(0)))); if (Convert.ToBoolean(Text)) { mainWindow.Dispatcher.Invoke(new Action(() => mainWindow.richtextbox2.Document.Blocks.Add(new Paragraph(new Run("Hello"))))); string text = "s"; mainWindow.WriteSerial(text); Console.WriteLine(Text); //richtextbox2.Document.Blocks.Add(new Paragraph(new Run(Text))); } } sqliteCon.Close(); } catch (Exception ex) { MessageBox.Show(ex.Message); } } } public partial class MainWindow : Window { SerialPort serial = new SerialPort(); //string received_data; //Thread readThread = new Thread(Read); FlowDocument mcFlowDoc = new FlowDocument(); Paragraph para = new Paragraph(); public MainWindow() { InitializeComponent(); combobox1.Items.Insert(0, "Select Port"); combobox1.SelectedIndex = 0; string[] ports = null; ports = SerialPort.GetPortNames(); // Display each port name to the console. int c = ports.Count(); for (int i = 1; i <= c; i++) { if (!combobox1.Items.Contains(ports[i - 1])) { combobox1.Items.Add(ports[i - 1]); } } } string dBConnectionString = @"Data Source = C:\Users\Documents\Visual Studio 2012\Projects\SerialTrial\SerialTrial\bin\Debug\employee.sqlite;"; static int count = 0; private void Button_Click(object sender, RoutedEventArgs e) { count++; string[] ports = null; ports = SerialPort.GetPortNames(); // Display each port name to the console. int c = ports.Count(); for (int i = 1; i  ThreadExample.ThreadJob(this))); thread.Start(); thread.Join(); } /* private delegate void UpdateUiTextDelegate(string text); private void Receive(object sender, System.IO.Ports.SerialDataReceivedEventArgs e) { // Collecting the characters received to our 'buffer' (string). received_data = serial.ReadExisting(); Dispatcher.Invoke(DispatcherPriority.Send, new UpdateUiTextDelegate(WriteData), received_data); } private void WriteData(string text) { // Assign the value of the recieved_data to the RichTextBox. para.Inlines.Add(text); mcFlowDoc.Blocks.Add(para); richtextbox2.Document = mcFlowDoc; richtextbox2.ScrollToEnd(); } */ #endregion private void button3_Click(object sender, RoutedEventArgs e) { if (serial.IsOpen) { TextRange allTextRange = new TextRange(richtextbox1.Document.ContentStart, richtextbox1.Document.ContentEnd); string allText = allTextRange.Text; serial.WriteLine(allText); } } public void WriteSerial(string text) { serial.Write(text); } } } 

我想把它放在这个if函数中的某个地方:

  if (Convert.ToBoolean(Text)) { mainWindow.Dispatcher.Invoke(new Action(() => mainWindow.richtextbox2.Document.Blocks.Add(new Paragraph(new Run("Hello"))))); string text = "s"; mainWindow.WriteSerial(text); Console.WriteLine(Text); //richtextbox2.Document.Blocks.Add(new Paragraph(new Run(Text))); } 

图片

试试以下正则Regex

 RichTextBox1.Text = Regex.Replace(RichTextBox1.Text, @"^\s*$(\n|\r|\r\n)", "", RegexOptions.Multiline); 
 string myText = new TextRange(richTextBox.Document.ContentStart, richTextBox.Document.ContentEnd).Text; var resultString = Regex.Replace(myText, @"( |\r?\n)\1+", "$1");