我想替换一段文本中的所有空格和换行符,但如果空格是在""中就忽略,如下面:原文本:你好   谢谢你的帮助,"真 心  的感谢"   ,再次感谢!替换后:
你好谢谢你的帮助,"真 心  的感谢",再次感谢!

解决方案 »

  1.   

    string a = @"   你好   谢谢你的帮助,""真    心  的感谢""   ,再次感谢!   ""akdf awrklawe   ""  fas";
    a = Regex.Replace(a, @"\s*(?<left>[^\s""]*)(?<re>(""[^""]*"")*)(?<right>[^\s""]*)\s*", "${left}${re}${right}", RegexOptions.IgnoreCase);
    MessageBox.Show("1" + a + "2");
      

  2.   

    string strSource = "你好   谢谢你的帮助,\"真 心  的感谢\"   ,再次感谢!";
    string strDst = string.Empty;
    Regex regExp = new Regex("(?<=\"[^\"]*?) (?=[^\"]*\")",RegexOptions.Singleline);
    strDst = regExp.Replace(strSource, "⊙");
    strDst = strDst.Replace(" ", "");
    strDst = strDst.Replace('⊙', ' ');
      

  3.   

    keystudio(御剑乘风来,除魔天地间,有酒乐逍遥,无酒我亦颠) 
    的可以。
    我这个考虑的没他全面。