首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > C# >

100分求解!怎么替换一串字符串中所有以.开始,以.结束的两个符号中间的字符串

2013-01-21 
100分求解!如何替换一串字符串中所有以..开始,以..结束的两个符号中间的字符串RT,想实现从一个文件中读取c

100分求解!如何替换一串字符串中所有以..开始,以..结束的两个符号中间的字符串
RT,想实现从一个文件中读取code,然后将文件中以符号$开始,$结束的所有字符串替换成想要的内容,该如何实现,请高手指点,谢谢
例如:文件中取出的字符串为fjksdjfk$fesdfdds$  asss$dfdsfd$
要将以上红色部分取出,并替换成自己想要的内容
PS:在网上找了一个例子


楼上 +1
[解决办法]
用栈的方式来进行记录读取的$
附源代码
static void Main(string[] args)
        {


            Stack<char> sk = new Stack<char>();
            List<string> strNeed = new List<string>();//获取的字符串
            string strOrg = "fjksdjfk$fesdfdds$  asss$dfdsfd$";//原始数据
            string strReplace = "我是被替换的";//
            List<char> cTemp=new List<char>();
            foreach (char c in strOrg)
            {
                if (c == '$')
                {
                    if (sk.Count == 1)
                    {
                        strNeed.Add(new string(cTemp.ToArray()));
                        cTemp.Clear();
                        sk.Pop();
                    }
                    else
                    {
                        sk.Push(c);
                    }
                }
                else if (sk.Count == 1)
                {
                    cTemp.Add(c);
                }
            }
            Console.WriteLine("获取的字符串:");
            foreach (string str in strNeed)
            {
                Console.WriteLine(str);
                strOrg= strOrg.Replace(str, strReplace);
            }
            Console.WriteLine("替换后的字符串:");


            Console.WriteLine(strOrg);
            Console.ReadKey();
        }
 
[解决办法]
正则表达式里,遇到可能是通配符的符号,想直接匹配符号文本,加个转义符试试。
GetValue(@"fjksdjfk$fesdfdds$  asss$dfdsfd$", @"\$", @"\$");
[解决办法]
3# 100分求解!怎么替换一串字符串中所有以.开始,以.结束的两个符号中间的字符串

热点排行