user2718135
user2718135

Reputation:

Android - how to delete last 2 lines from String?

I have a String which always looks like this:


data
data
data
data
non-data
non-data

And I need to delete the 2 last lines from it. The lenght of these lines can be different. How I can do that fast (String = ~1000 lines)?

Upvotes: 1

Views: 1296

Answers (3)

semihunaldi
semihunaldi

Reputation: 44

This Code will split your text by "\n" 's which means your lines in to a String Array. Than you will get that array's length..

And in a for loop you will set and append your text till your length-1 element.

This may be a long approach but I was searching this and I couldn't find anything. This was my easiest way.

String[] lines = YourTextViev.getText().toString().split("\n");

YourTextView.setText("");      // clear your TextView
int Arraylength = lines.length-1;    // Changing "-1" will change which lines will be deleted

for(int i=0;i<Arraylength;i++){

    YourTextView.append(lines[i]+"\n");
}

Upvotes: 0

Bart Enkelaar
Bart Enkelaar

Reputation: 694

I'd say something along the lines of:

String[] lines = input.split("\n");
String[] dataLines = Arrays.copyOfRange(lines, 0, lines.length - 2);

Upvotes: 3

Jigar Joshi
Jigar Joshi

Reputation: 240860

int lastNewLineAt = string.lastIndexOf("\n");
string.subString(0, string.lastIndexOf("\n", lastNewLineAt));

You can use constant for new line character reading system property

Upvotes: 1

Related Questions