Привет! Я пытался отфильтровать большой текстовый файл с помощью Regex.Split с более чем 20 строковыми шаблонами, которые мне нужно использовать, но результат неверный и так много пустых строк.
ниже приведен мой код
string[] tmp = Regex.Split(originalString, @"(LINE|3DFACE|3DSOLID|ARC|ATTDEF|ATTRIB|BODY|CIRCLE|DIMENSION|ELLIPSE|HATCH|HELIX|IMAGE|INSERT|LEADER|LIGHT||LWPOLYLINE|MLINE|MLEADER|MLEADERSTYLE|MTEXT|OLEFRAME|OLE2FRAME|POINT|POLYLINE|RAY|REGION|SECTION|SEQEND|SHAPE|SOLID|SPLINE|SUN|SURFACE|TABLE|TEXT|TOLERANCE|TRACE|UNDERLAY|VERTEX|VIEWPORT|WIPEOUT|XLINE)");
, если я использую только около 5 из них, тогда результат может быть выполнен именно так, как мне нужно, есть ли ограничение для regex.split для строковых шаблонов?
РЕДАКТИРОВАТЬ 1
СПАСИБО @ MRAB
вот код для фактического запуска работающего и правильного вывода
string fileName = textBox1.Text;
var stopwatch = new System.Diagnostics.Stopwatch();
stopwatch.Start();
TextReader sr = new StreamReader(fileName);
string originalString = sr.ReadToEnd();
sr.Close();
string[] tmp = Regex.Split(originalString, @"(3DFACE|3DSOLID|ACAD_PROXY_ENTITIY|ARC|ATTDEF|ATTRIB|BODY|CIRCLE|DIMENSION|ELLIPSE|HATCH|HELIX|IMAGE|INSERT|LEADER|LIGHT|LWPOLYLINE|MLINE|MLEADERSTYLE|MLEADER|MTEXT|OLEFRAME|OLE2FRAME|POINT|POLYLINE|RAY|REGION|SEQEND|SHAPE|SOLID|SPLINE|SUN|SURFACE|TABLE|TEXT|TOLERANCE|TRACE|UNDERLAY|VERTEX|VIEWPORT|WIPEOUT|XLINE|LINE)");
List<string> result = new List<string>();
for (var i = 1; i < tmp.Count() - 1; i += 2)
{
result.Add(tmp[i] + tmp[i + 1]);
}