using System;
using System.Collections.Generic;
using System.IO;
using System.Linq;
using System.Text.RegularExpressions;
public class Test
{
public static void Main()
{
var s = "abc,def,2,100,xyz!,:))))";
Console.WriteLine(Regex.Replace(s, @"(\d),(\d)", "$1$2")); // Does not handle 1,2,3,4 cases
Console.WriteLine(Regex.Replace(s, @"(\d),(?=\d)", "$1")); // Handles consecutive matches with capturing group+backreference/lookahead
Console.WriteLine(Regex.Replace(s, @"(?<=\d),(?=\d)", "")); // Handles consecutive matches with lookbehind/lookahead
Console.WriteLine(Regex.Replace(s, @",(?<=\d,)(?=\d)", "")); // Also handles all cases, the most efficient way
Console.WriteLine(Regex.Replace(s, @"\d,\d", m => m.Value.Replace(",",string.Empty))); // Callback method
}
}
dXNpbmcgU3lzdGVtOwp1c2luZyBTeXN0ZW0uQ29sbGVjdGlvbnMuR2VuZXJpYzsKdXNpbmcgU3lzdGVtLklPOwp1c2luZyBTeXN0ZW0uTGlucTsKdXNpbmcgU3lzdGVtLlRleHQuUmVndWxhckV4cHJlc3Npb25zOwoKcHVibGljIGNsYXNzIFRlc3QKewoJcHVibGljIHN0YXRpYyB2b2lkIE1haW4oKQoJewoJCXZhciBzID0gImFiYyxkZWYsMiwxMDAseHl6ISw6KSkpKSI7CiAgICAgICAJQ29uc29sZS5Xcml0ZUxpbmUoUmVnZXguUmVwbGFjZShzLCBAIihcZCksKFxkKSIsICIkMSQyIikpOyAgIC8vIERvZXMgbm90IGhhbmRsZSAxLDIsMyw0IGNhc2VzCiAgICAgICAJQ29uc29sZS5Xcml0ZUxpbmUoUmVnZXguUmVwbGFjZShzLCBAIihcZCksKD89XGQpIiwgIiQxIikpOyAgIC8vIEhhbmRsZXMgY29uc2VjdXRpdmUgbWF0Y2hlcyB3aXRoIGNhcHR1cmluZyBncm91cCtiYWNrcmVmZXJlbmNlL2xvb2thaGVhZAogICAgICAgCUNvbnNvbGUuV3JpdGVMaW5lKFJlZ2V4LlJlcGxhY2UocywgQCIoPzw9XGQpLCg/PVxkKSIsICIiKSk7ICAvLyBIYW5kbGVzIGNvbnNlY3V0aXZlIG1hdGNoZXMgd2l0aCBsb29rYmVoaW5kL2xvb2thaGVhZAogICAgICAgCUNvbnNvbGUuV3JpdGVMaW5lKFJlZ2V4LlJlcGxhY2UocywgQCIsKD88PVxkLCkoPz1cZCkiLCAiIikpOyAvLyBBbHNvIGhhbmRsZXMgYWxsIGNhc2VzLCB0aGUgbW9zdCBlZmZpY2llbnQgd2F5CiAgICAgICAJQ29uc29sZS5Xcml0ZUxpbmUoUmVnZXguUmVwbGFjZShzLCBAIlxkLFxkIiwgbSA9PiBtLlZhbHVlLlJlcGxhY2UoIiwiLHN0cmluZy5FbXB0eSkpKTsgLy8gQ2FsbGJhY2sgbWV0aG9kCgl9Cn0=
abc,def,2100,xyz!,:))))
abc,def,2100,xyz!,:))))
abc,def,2100,xyz!,:))))
abc,def,2100,xyz!,:))))
abc,def,2100,xyz!,:))))