void Main()
{
   string s="大发放阿发13912731231大大法国客户131大幅13131阿发";
   foreach(Match m in Regex.Matches(s,@"\d{4,}"))
   {
       Console.WriteLine(m.Value .Length >4?m.Value.Substring(0,4)+new string('*',m.Value.Length -4):m.Value);
   }
 /*
 1391*******
     1313*
 */
}

解决方案 »

  1.   

            string aa = "大发放阿发13912731231大大法国客户131大幅13131阿发";
            aa = Regex.Replace(aa, @"(\d{4})(\d+)", m => m.Result("$1") + new string('*', m.Result("$2").Length));
      

  2.   

            string aa = "大发放阿发13912731231大大法国客户131大幅13131阿发";
            aa = Regex.Replace(aa, @"(?<=[^\d]+\d{4})(\d+)(?=[^\d])", m => new string('*', m.Result("$1").Length));
            Console.WriteLine(aa);