You could filter out null, white space, and character length with a couple of different approaches. We will start similar to your above code.
var border = new List<string>();
for(var index = 0; index < reportbOR.Length; index++)
if(!String.IsNullOrEmpty(reportbOR[index].colorBorder) && reportbOR[index].colorBorder.Length < 8)
border.Add($"border: {reportbOR[index].colorBorder}");
I won't mention the StringSplitOptions because of @NSevens response, the documentation is pretty self explanatory but could be applicable.
One thing to denote, if you use LINQ on a String it will parse into a character array. But if you use your root object you could leverage LINQ.
var borders = reportbOR
.Where(property => !String.IsNullOrEmpty(property.colorBorder) && property.colorBorder < 8))
.Select(property => new $"border: {property}");
Also, it would be important to know that if you only care about null or empty, then use IsNullOrEmpty. If you want to sanitize for white-space and white-space characters then use IsNullOrWhiteSpace.
Splitfunction:border.Split('\n', StringSplitOptions.RemoveEmptyEntries)text_arrgoes out of scope after the outerforloop, and this won't accomplish anything. Looking at this, I can probably get it down to a single line of code, iff I know more about how this data will be used.