日期:2014-05-17  浏览次数:20890 次

求大神 C# 字符串替换
原字符串:C<Sub>16-18</Sub>和C<Sub>18</Sub>不饱和脂肪酸与氯化2-羟基-<i>N</i>-(2-羟乙基)-<i>N</i>,<i>N</i>-二甲基乙铵的酯化物;C<Sub>16-18</Sub>/C<Sub>18</Sub>不饱和脂肪酸与甲基二乙醇胺和氯甲烷的季铵化反应产物;甲基二乙醇胺与C<Sub>16-18</Sub>和C<Sub>18</Sub>不饱和脂肪酸和氯甲烷的季铵盐化合物

想要的字符串:C1下标6下标-下标1下标8下标和C1下标8下标不饱和脂肪酸与氯化2-羟基-N斜体-(2-羟乙基)-N斜体,N斜体-二甲基乙铵的酯化物;C1下标6下标-下标1下标8下标/C1下标8下标不饱和脂肪酸与甲基二乙醇胺和氯甲烷的季铵化反应产物;甲基二乙醇胺与C1下标6下标-下标1下标8下标和C1下标8下标不饱和脂肪酸和氯甲烷的季铵盐化合物

求大神贴代码 或思路啊....
字符串 c# 大神

------解决方案--------------------
 string str = "C<Sub>16-18</Sub>和C<Sub>18</Sub>不饱和脂肪酸与氯化2-羟基-<i>N</i>-(2-羟乙基)-<i>N</i>,<i>N</i>-二甲基乙铵的酯化物;C<Sub>16-18</Sub>/C<Sub>18</Sub>不饱和脂肪酸与甲基二乙醇胺和氯甲烷的季铵化反应产物;甲基二乙醇胺与C<Sub>16-18</Sub>和C<Sub>18</Sub>不饱和脂肪酸和氯甲烷的季铵盐化合物";
          
  str = Regex.Replace(str, "<Sub>(.*?)</Sub>", delegate(Match m)
            {
                return string.Join("", m.Groups[1].Value.Select(t => t+"下标").ToArray());
            });
------解决方案--------------------
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            string s = "C<Sub>16-18</Sub>和C<Sub>18</Sub>不饱和脂肪酸与氯化2-羟基-<i>N</i>-(2-羟乙基)-<i>N</i>,<i>N</i>-二甲基乙铵的酯化物;C<Sub>16-18</Sub>/C<Sub>18</Sub>不饱和脂肪酸与甲基二乙醇胺和氯甲烷的季铵化反应产物;甲基二乙醇胺与C<Sub>16-18</Sub>和C<Sub>18</Sub>不饱和脂肪酸和氯甲烷的季铵盐化合物";
            s = Regex.Replace(s, @"\<Sub\>([\w-]+)\<\/Sub\>", x => string.Join("", x.Groups[1].Value.ToCharArray().Select(y => y.ToString() + "下标").ToArray()), RegexOptions.None);
            s = Regex.Replace(s, @"\<i\>([\w-]+)\<\/i\>", x => string.Join("", x.Groups[1].Value.ToCharArray().Select(y => y.ToString() + "斜体").ToArray()), RegexOptions.None);
            Console.WriteLine(s);
        }
    }
}


C1下标6下标-下标1下标8下标和C1下标8下标不饱和脂肪酸与氯化2-羟基-N斜体-(2-羟乙基)
-N斜体,N斜体-二甲基乙铵的酯化物;C1下标6下标-下标1下标8下标/C1下标8下标不饱和脂肪
酸与甲基二乙醇胺和氯甲烷的季铵化反应产物;甲基二乙醇胺与C1下标6下标-下标1下标8下
标和C1下标8下标不饱和脂肪酸和氯甲烷的季铵盐化合物
Press any key to continue . . .
------解决方案--------------------
		string s = "C<Sub>16-18</Sub>和C<Sub>18</Sub>不饱和脂肪酸与氯化2-羟基-<i>N</i>-(2-羟乙基)-&l