将strOld中的数字1替换成A
strOld=1,2,1,13,112,11,1
替换后的结果:
strNew=A,2,A,13,112,11,A请问:
①在C#中用Regex.Replace该如何实现?
②在SQL中该如何实现?

解决方案 »

  1.   


                string strOld = "1,2,1,13,112,11,1";
                string strNew = Regex.Replace(strOld, @"(?<=,|^)1(?=,|$)", "A");
      

  2.   

    declare @str varchar(100)
    set @str='1,2,1,13,112,11,1'
    select left(stuff(replace(','+@str+',',',1,',',A,'),1,1,''),len(stuff(replace(','+@str+',',',1,',',A,'),1,1,''))-1)
      

  3.   

                     string str = "1,2,1,13,112,11,1";            
    str= Regex.Replace(str, @"\b1\b", "A");
      

  4.   

    这个其实不用正则:
    str= (","+str+",").Replace(",1,",",A,").Trim(',');
      

  5.   

    ++
    string str="1,2,1,13,112,11,1";
    str= (","+str+",").Replace(",1,",",A,").Trim(',');
      

  6.   

    试试这个字符串,替换后是什么结果strOld=1,1