怎样使用C#正则表达式替换所有符合条件的字符串

zhwenh 2012-02-10 05:02:21
怎样使用正则表达式替换所有符合条件的字符串?

我现在有一个字符串如:
"具有高度相关性。图1:[image/qhfx-130-2.jpg]资料如下:<br>图2:[image/kjsw247-3.jpg]<br> 产品<br>图3:[image/qhfx-158-1.jpg]"

我想把 字符串中的图片路径替换了如:[image/qhfx-130-2.jpg] 替换成 <img src="http://www.163.com/image/qhfx-130-2.jpg"/> 要匹配 [ ].

最终字符串替换成如 :
"具有高度相关性。图1:<img src="http://www.163.com/image/qhfx-130-2.jpg"/>资料如下:<br>图2:<img src="http://www.163.com/image/kjsw247-3.jpg /> <br> 产品<br>图3:<img src="http://www.163.com/image/qhfx-158-1.jpg/>"

由于不太熟悉正则表达式,希望大侠们帮我用C#写一个完整批量替换函数。多谢各位帮忙了!
...全文
754 4 打赏 收藏 转发到动态 举报
写回复
用AI写文章
4 条回复
切换为时间正序
请发表友善的回复…
发表回复
zhwenh 2012-02-10
  • 打赏
  • 举报
回复
这个对
tring tempStr = "具有高度相关性。图1:[image/qhfx-130-2.jpg]资料如下:<br>图2:[image/kjsw247-3.jpg]<br> 产品<br>图3:[image/qhfx-158-1.jpg]";
string pattern = @"\[([^]]*)\]";
tempStr = Regex.Replace(tempStr,pattern,@"<img src=""http://www.163.com/$1""/>");
/*
具有高度相关性。图1:<img src="http://www.163.com/image/qhfx-130-2.jpg"/>资料如下:<br>图2:<img src="http://www.163.com/image/kjsw247-3.jpg"/><br> 产品<br>图3:<img src="http://www.163.com/image/qhfx-158-1.jpg"/>
*/

多谢了。
  • 打赏
  • 举报
回复
string tempStr = "具有高度相关性。图1:[image/qhfx-130-2.jpg]资料如下:<br>图2:[image/kjsw247-3.jpg]<br> 产品<br>图3:[image/qhfx-158-1.jpg]";
string pattern = @"\[([^]]*)\]";
tempStr = Regex.Replace(tempStr,pattern,@"<img src=""http://www.163.com/$1""/>");
/*
具有高度相关性。图1:<img src="http://www.163.com/image/qhfx-130-2.jpg"/>资料如下:<br>图2:<img src="http://www.163.com/image/kjsw247-3.jpg"/><br> 产品<br>图3:<img src="http://www.163.com/image/qhfx-158-1.jpg"/>
*/
相当之稳重 2012-02-10
  • 打赏
  • 举报
回复
给你个例子,去除所有的HTML标签

using System.Text.RegularExpressions; //需要引用


public string HtmlFilter(string strHtml) //从字符串里删除HTML
{
Regex regex = new Regex("<[^>]*>", RegexOptions.IgnoreCase);
string strOutput = regex.Replace(strHtml, "");
return strOutput;
}
underwater 2012-02-10
  • 打赏
  • 举报
回复
pattern = @"\[(images\/[^\.]+\.jpg)\]";

to: "<img src=\"http://www.163.com/$1\" />"
C#字符串正则表达式参考手册 目 录 第1章 系统处理文本的方式 1 1.1 .NET Framework 1 1.1.1 公共语言运行时 2 1.1.2 .NET Framework类库 3 1.2 文本是一种数据类型 4 1.2.1 C#的数据类型 5 1.2.2 字符和字符集 6 1.2.3 字符串数据类型 10 1.3 文本存储 10 1.3.1 高速缓存技术 12 1.3.2 内置 13 1.3.3 其他方法 14 1.3.4 .NET实现 14 1.4 字符串操作 18 1.4.1 连接字符串 18 1.4.2 从字符串中提取子串 20 1.4.3 比较字符串 20 1.4.4 字符串转换 21 1.4.5 格式化字符串 21 1.5 字符串用法 22 1.5.1 构建字符串 22 1.5.2 分析字符串 24 1.6 国际化 25 1.7 小结 27 第2章 String类和StringBuilder类 28 2.1 学习本章要用到的工具 28 2.2 文本结构 29 2.3 String类 30 2.3.1 内置字符串 32 2.3.2 构建 34 2.3.3 字符串的转义 36 2.4 StringBuilder类 37 2.4.1 长度和容量 39 2.4.2 ToString()方法 41 2.5 字符串操作 42 2.5.1 连接字符串 42 2.5.2 从字符串中提取子串 45 2.5.3 比较字符串 46 2.5.4 格式化 50 2.6 字符串使用 54 2.6.1 建立字符串 54 2.6.2 标记 58 2.6.3 颠倒字符串次序 61 2.6.4 插入、删除和替换 61 2.7 小结 66 第3章 字符串转换 68 3.1 ToString()方法 68 3.2 把数值表示为字符串 69 3.3 把日期和时间表示为字符串 74 3.4 把其他对象表示为字符串 76 3.5 用字符串表示字符串 78 3.6 把字符串转换为其他类型 79 3.6.1 把字符串转换成数字 79 3.6.2 把字符串转换为日期和时间 82 3.7 在集合与数组之间移动字符串 84 3.7.1 数组 85 3.7.2 ArrayList对象 86 3.7.3 IDictionary对象 88 3.8 小结 88 第4章 国际化 89 4.1 Unicode 89 4.2 .NET Framework的编码类 91 4.3 处理字符串 95 4.3.1 CultureInfo类 96 4.3.2 大写和小写 99 4.3.3 不需要区分文化的操作 101 4.3.4 排序 101 4.4 处理字符 106 4.4.1 关于字符的必要信息 107 4.4.2 代理对 107 4.4.3 组合字符 112 4.5 格式化Unicode字符串 114 4.6 字符串用作资源 115 4.7 小结 119 第5章 正则表达式 120 5.1 System.Text.RegularExpressions命名空间 120 5.2 Regex类 121 5.2.1 RegexOptions枚举 121 5.2.2 类构造函数 122 5.2.3 IsMatch()方法 123 5.2.4 Replace()方法 124 5.2.5 Split()方法 125 5.3 Match类和MatchCollection类 127 5.4 Regex测试器示例 131 5.5 正则表达式基础语法 139 5.5.1 匹配不同类型的字符 139 5.5.2 指定匹配位置 141 5.5.3 指定重复字符 142 5.5.4 指定替换 149 5.5.5 特殊字符 149 5.6 小结 151 第6章 正则表达式的高级概念 152 6.1 分组、替换和反向引用 152 6.1.1 简单的分组 153 6.1.2 Group类和GroupCollection类 156 6.1.3 替换 161 6.1.4 反向引用 162 6.1.5 高级组 163 6.2 在正则表达式中作决策 168 6.3 在正则表达式内设定选项 171 6.4 正则表达式引擎的规则 171 6.5 小结 173 第7章 正则表达式模式 174 7.1 验证字符 174 7.2 验证数字 175 7.2.1 只包含数字 175 7.2.2 只包含整型数 175 7.2.3 只包含浮点数 176 7.3 验证电话号码 177 7.4 验证邮政编码 18

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧