正则表达式替换字符串

时间:2023-01-03 15:19:40

 

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); //替换当前更新记录的重点信息