using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var idx = 2; // Might be user-defined
var subtext = "zero|one|two|three|four";
// Non-regex way - preferred
var result = subtext.Split('|').ElementAtOrDefault(idx);
Console.WriteLine(result);
// A regex way - only if no access to code
var pat = $@"^(?:[^|]*\|){{{idx}}}([^|]*)";
var m = Regex.Match(subtext, pat);
if (m.Success) {
Console.WriteLine(m.Groups[1].Value);
}
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBpZHggPSAyOyAvLyBNaWdodCBiZSB1c2VyLWRlZmluZWQKCQl2YXIgc3VidGV4dCA9ICJ6ZXJvfG9uZXx0d298dGhyZWV8Zm91ciI7CgkJCgkJLy8gTm9uLXJlZ2V4IHdheSAtIHByZWZlcnJlZAogICAgCXZhciByZXN1bHQgPSBzdWJ0ZXh0LlNwbGl0KCd8JykuRWxlbWVudEF0T3JEZWZhdWx0KGlkeCk7CiAgICAJQ29uc29sZS5Xcml0ZUxpbmUocmVzdWx0KTsKICAgIAkKICAgIAkvLyBBIHJlZ2V4IHdheSAtIG9ubHkgaWYgbm8gYWNjZXNzIHRvIGNvZGUKICAgIAl2YXIgcGF0ID0gJEAiXig/OltefF0qXHwpe3t7aWR4fX19KFtefF0qKSI7CiAgICAJdmFyIG0gPSBSZWdleC5NYXRjaChzdWJ0ZXh0LCBwYXQpOwogICAgCWlmIChtLlN1Y2Nlc3MpIHsKICAgIAkJQ29uc29sZS5Xcml0ZUxpbmUobS5Hcm91cHNbMV0uVmFsdWUpOwogICAgCX0KCX0KfQ==