C#怎么使用正则表达式来替换字符
<!DOCTYPEhtmlPUBLIC"-//W3C//DTDXHTML1.0Transitional//EN""http://www.w3.org/TR/xhtml1/...
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
function AddUsers(){
alert("这里是测试数据");
}
</script>
<style type="text/css">
.body{
background-color:#C00;
}
</style>
</head>
<body>
这里是测试网页
</body>
</html>
1、需要替换<title>和</title>之间的内容
2、需要删除<style type="text/css">和</style>之间的内容,或在直接删除这快。
用正则表达式匹配删除,如果有其他的解决办法也可以。
在说下是C#的。
因为同类元素很多不只是一个,使用批量查找替换这样代码量太多,得好几十行代码。 展开
<html xmlns="http://www.w3.org/1999/xhtml">
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>无标题文档</title>
<script type="text/javascript">
function AddUsers(){
alert("这里是测试数据");
}
</script>
<style type="text/css">
.body{
background-color:#C00;
}
</style>
</head>
<body>
这里是测试网页
</body>
</html>
1、需要替换<title>和</title>之间的内容
2、需要删除<style type="text/css">和</style>之间的内容,或在直接删除这快。
用正则表达式匹配删除,如果有其他的解决办法也可以。
在说下是C#的。
因为同类元素很多不只是一个,使用批量查找替换这样代码量太多,得好几十行代码。 展开
2个回答
展开全部
代码给出 其中(?<=...)表示前置占位但不匹配 (?=...)表示后置占位但不匹配, 恩大概这个意思, 您可以根据需要进行封装为方法
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);
}
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);
}
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询