第一个问题:替换以 <!DOCTYPE 开头,以 > 结尾的所有字符为空,要忽略大小写第二个问题:
见如下字符串,注意红色部分:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />如果有以 <meta 开头,以 > 结尾,且包含了 charset 的字符串,则替换 charset= 后面的 gb2312 为utf-8其中,gb2312 是变化的,有可能是其它字符集,有可能左右还会有双引号。在线等,很急。
见如下字符串,注意红色部分:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />如果有以 <meta 开头,以 > 结尾,且包含了 charset 的字符串,则替换 charset= 后面的 gb2312 为utf-8其中,gb2312 是变化的,有可能是其它字符集,有可能左右还会有双引号。在线等,很急。
解决方案 »
- winfrom自定义控件动态加载后不显示(菜鸟)
- 反射技术显示类型的应字符串问题(有示例)
- 【讨论帖】--欢迎新老专家来看看这种情况程序应该怎么设计?
- 有没有C#的加密代码,要加密数据到数据库里的,如base64Decode?
- 请问安装vs.net为什么提示找不到frontpage服务器扩展?
- 临时表问题,购物车存储在临时表中,遇到问题了,请高手不吝赐教,谢谢 100分
- 如何用反射获取结构体内的数据
- 一个winform窗口,输入用户名密码后点击登陆,跳转到另外一个窗口问题
- C# socket System.OutOfMemoryException
- 高分求解!!!!!
- asp.net c#在内容页中怎样添加动态Title?
- 为什么用Visual C# 2008 Express Edition编译完的程序自己机器上可以运行,别人的机器上运行没反应呢?
string str = Regex.Replace(input, "<!DOCTYPE.*?>", "", RegexOptions.IgnoreCase);
2. input = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\" /> ";
str = Regex.Replace(input, "(<meta.*?charset=\"?).*?(\")", "$1utf-8$2", RegexOptions.IgnoreCase);
private void FormMain_Load(object sender, EventArgs e)
{
string content = "以<!DOCTYPE 开头,以 > 结尾\r\n<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\" /> "; //替换<!DOCTYPE 开头,以 > 结束的为空白
Regex regex = new Regex("<!DOCTYPE[^>]+>", RegexOptions.IgnoreCase);
content = regex.Replace(content, ""); //替换charset
regex = new Regex("<meta[^>]+>", RegexOptions.IgnoreCase);
content = regex.Replace(content, ReplaceCharset); Console.WriteLine(content);
} private string ReplaceCharset(Match match)
{
Regex regex = new Regex("charset=[^\"]+\"", RegexOptions.IgnoreCase);
return regex.Replace(match.Value, "charset=utf8\"");
}输出:以 结尾
<meta http-equiv="Content-Type" content="text/html; charset=utf8" />
见如下字符串,注意红色部分:
<meta http-equiv="Content-Type" content="text/html; charset=gb2312" />如果有以 <meta 开头,以 > 结尾,且包含了 charset 的字符串,则替换 charset= 后面的 gb2312 为utf-8
这个不需要正则就能做到。
string html="<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\" />";
string result=html.Replace("charset=gb2312","charset=utf-8");
string result=Regex.Replace("你的字符串","(?i)<!doctype[^>]*>","");2、
string result=Regex.Replace("你的字符串","(?i)(?<=meta[^>]*charset=)[^\\s>]+(?=\"[^>]*>)","utf-8");
string input = "lkjsdfieflajskdfasdfasdf <!DOCTYPE 开头,以 > asdfeasdfasdf fasdfadsf";
string str = Regex.Replace(input, "<!DOCTYPE[^>]*?>", "", RegexOptions.IgnoreCase);
input = "<meta http-equiv=\"Content-Type\" content=\"text/html; charset=gb2312\" /> ";
str = Regex.Replace(input, "(<meta[\\s\\S]*charset=).*(\"\\s/>)", "$1utf-8$2", RegexOptions.IgnoreCase);
如何判断一段文本里是否包含 <开头必需有字符 这里是其它字符> 这种类型的字串?
如果包含就返回true,否则返回false,请大侠再次赐教。
如:<aa bb="aa">,<style id="a">包含这些就返回true。 换一种说法,就是判断一段文本里是否包含了html代码,可以用正则做到吗?
{
//TRUE
}