using System.Collections.Generic;
using System.Text.RegularExpressions;
public class IndexMatches
public int Index { get; set; }
public int IndexValuelength { get; set; }
public static void Main()
string maskiput = "xxxxxxxxxx56xxxxxx24xxxx";
string inputvalue = "asadaddsdzasdsdsd31sds";
System.Text.RegularExpressions.Regex re = new Regex(@"\d+");
List<IndexMatches> numberIndexes = re.Matches(maskiput).Cast<Match>().Select(k => new IndexMatches
IndexValuelength = k.Value.Length
foreach (IndexMatches item in numberIndexes)
string result = inputvalue.Substring(item.Index-1, item.IndexValuelength);
Console.WriteLine(result);