关于用正则表达式进行替换

xg_delayth 2008-12-11 06:57:38
想用c#做一个正则表达式替换,例如
+RIM(CA) 转换成 ^RIM+CA
可不可以做,谢谢各位老大!
...全文
207 10 打赏 收藏 转发到动态 举报
写回复
用AI写文章
10 条回复
切换为时间正序
请发表友善的回复…
发表回复
xg_delayth 2008-12-16
  • 打赏
  • 举报
回复
[Quote=引用 9 楼 0009 的回复:]
Regex re = new Regex(@"\+([^()]+)\(([^()]+)\)");
[/Quote]
谢谢!!!!
烈火蜓蜻 2008-12-12
  • 打赏
  • 举报
回复
直接replace
RexZheng 2008-12-12
  • 打赏
  • 举报
回复
Regex re = new Regex(@"\+([^()]+)\(([^()]+)\)");
xg_delayth 2008-12-12
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 0009 的回复:]
如果RIM和CA不固定,可改为:

Regex re = new Regex("\+([^()]+)\(([^()]+)\)");
string result = re.Replace("+RIM(CA)", "^$1+$2");
[/Quote]
非常感谢,不过有点不太明白在我本地,上述表达式不太起作用修改后可以

Regex re = new Regex("[+]([^()]+)[(]([^()]+)[)]");
string result = re.Replace("+RIM(CA)", "^$1+$2");

我本地似乎对 "\+"类似的字符串必须改成[+]才可以!
xg_delayth 2008-12-12
  • 打赏
  • 举报
回复
谢谢,偶去测试下!
surewy 2008-12-12
  • 打赏
  • 举报
回复
mark
wangping_li 2008-12-11
  • 打赏
  • 举报
回复
[Quote=引用楼主 xg_delayth 的帖子:]
想用c#做一个正则表达式替换,例如
+RIM(CA) 转换成 ^RIM+CA
可不可以做,谢谢各位老大!
[/Quote]
String str=@"\+(RIM)\((CA)\)";
Regex re=new Regex(str);
string result=re.Replace("+RIM(CA)","^$1+$2");

\+:匹配+号
(RIM)匹配RIM字符串
\((CA)\):你要的是(CA),但是(要用\来转义,所以就成了\((CA)\
后在的$1和$2是取第一个括号和第二个括号的内容

给你一个学則的学习网站,我感觉还不错,希望对你有帮助

http://www.regexlab.com/zh/workshop.asp
RexZheng 2008-12-11
  • 打赏
  • 举报
回复
如果RIM和CA不固定,可改为:

Regex re = new Regex("\+([^()]+)\(([^()]+)\)");
string result = re.Replace("+RIM(CA)", "^$1+$2");
RexZheng 2008-12-11
  • 打赏
  • 举报
回复
Regex re = new Regex("\+(RIM)\((CA)\)");
string result = re.Replace("+RIM(CA)", "^$1+$2");
xg_delayth 2008-12-11
  • 打赏
  • 举报
回复
没人会搞吗???

111,130

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Creator Browser
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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