5

I have a multiline textbox that constantly gets updated. I need to read only the last word/sentence in the textbox.

string lastLine = textBox1.ReadLine.Last();
Salah Akbari
  • 39,330
  • 10
  • 79
  • 109
user3002030
  • 149
  • 1
  • 2
  • 11

3 Answers3

10

Try this:

if (textBox1.Lines.Any())
{
    string lastLine = textBox1.Lines[textBox1.Lines.Length - 1];
}

And for last word:

string lastword = lastLine.Split(' ').Last();
Salah Akbari
  • 39,330
  • 10
  • 79
  • 109
2

A textbox with the MultiLine property set to true has an array of Lines from which it is easy to extract the info required

int maxLines = textBox1.Lines.Length;
if(maxLines > 0)
{
    string lastLine = textBox1.Lines[maxLines-1];
    string lastWord = lastLine.Split(' ').Last();
}

A bit of caution here is needed. If your textBox still doesn't contain any lines you need to introduce a check on the number of lines present

Steve
  • 213,761
  • 22
  • 232
  • 286
2

You can extract the last line from any string as follows:

string str = ....;

string[] lines = str.Split('\n', '\r');
string last_line = lines[lines.Length - 1];

To get the last line of a TextBox you can use:

string[] lines = textBox1.Text.Split('\n', '\r');
string last_line = lines[lines.Length - 1];
unknown6656
  • 2,765
  • 2
  • 36
  • 52