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