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#的。
因为同类元素很多不只是一个,使用批量查找替换这样代码量太多,得好几十行代码。
展开
 我来答
lxf_120
推荐于2018-05-07 · TA获得超过250个赞
知道小有建树答主
回答量:448
采纳率:0%
帮助的人:218万
展开全部
代码给出 其中(?<=...)表示前置占位但不匹配 (?=...)表示后置占位但不匹配, 恩大概这个意思, 您可以根据需要进行封装为方法

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);
}
本回答被提问者和网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
FantasyChump
2010-10-25 · TA获得超过3288个赞
知道大有可为答主
回答量:2127
采纳率:0%
帮助的人:2248万
展开全部
这里使用字符串搜索更加方便.
用<head>和</head>确定文档头,然后通过搜索<title>和</title>以及 <style 和 </style> 来确定要删除的部分.
这里并不建议用正则表达式,因为会让本身的逻辑变复杂并出现不确定因素.
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式