C#正则表达式:(?<=<ConnectString>).*?(?=</ConnectString>)
替换为:新字符串
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Text.RegularExpressions;
namespace ConsoleApplication3
{
class Program
{
static void Main(string[] args)
{
string s = "<ConnectString>Data Source=asdf, Database=fees</ConnectString>";
Regex r = new Regex("(?<=<ConnectString>).*?(?=</ConnectString>)", RegexOptions.IgnoreCase);
string result = r.Replace(s, "新字符串");
Console.WriteLine(result);
Console.ReadKey();
}
}
}
运行结果:
<ConnectString>新字符串</ConnectString>
----------------------------------------------------------------------------------------------------------------------------------------------------
1、需要替换<title>和</title>之间的内容
2、需要删除<style type="text/css">和</style>之间的内容,或在直接删除这快。
代码给出 其中(?<=...)表示前置占位但不匹配 (?=...)表示后置占位但不匹配, 恩大概这个意思, 您可以根据需要进行封装为方法
static void Main(string[] args) {
string content = File.ReadAllText("D:\\1.txt", Encoding.Default);
content = Regex.Replace(content, @"(?<=title>)(.*?)(?=</title>)", "你的字符");
content = Regex.Replace(content, "(?<=style.*?>)[^<]*?(?=</style>)", "空为删除");
Console.Write(content);
}
======================================================================
DetailMsg += BaseMsg.Replace("<detail>", ColumnValue); //替换当前更新记录的重点信息