如何用正则表达式, 只替换最后一个 “yuna123”

于娜 2008-10-04 04:36:03


string body = ....读取网页内容

Regex.Replace(body, @"yuna123", "XXXXX", Regex.RegexOptions);

这样子替换了所有。我只想替换最后一个"yuna123",怎么做? 不要别的方法,必须用正则表达式。帮我看看。





<html>
<body>

yuna123


yuna123



yuna123


yuna123

</body>
</html>
...全文
233 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
梦想家起飞 2008-10-04
  • 打赏
  • 举报
回复
[Quote=引用 8 楼 wingtrace 的回复:]
如果要做复杂一点的选择性匹配的话,可以考虑使用下面这个重载:
Namespace: System.Text.RegularExpressions
Assembly: System (in System.dll)
[/Quote]

MSDN里面的例子改改就能用了。
        
private void Method1()
{
string ptn = @"yuna123";

string output = Regex.Replace(yourInputString, ptn,
new MatchEvaluator(ReplaceCC), RegexOptions.IgnoreCase
/*or RegexOptions.None, as your need*/);
}

public static int i = 0;

private string ReplaceCC(Match m)
{
i++;
if (i == 2) // replace the second match
{
return "xxxxx";
}
else
{
return m.Value;
}
}
梦想家起飞 2008-10-04
  • 打赏
  • 举报
回复
如果要做复杂一点的选择性匹配的话,可以考虑使用下面这个重载:
Namespace: System.Text.RegularExpressions
Assembly: System (in System.dll)

public static string Replace(
string input,
string pattern,
MatchEvaluator evaluator,
RegexOptions options
)

梦想家起飞 2008-10-04
  • 打赏
  • 举报
回复
就这个问题本身而言,有一个偷懒的做法,

string ptn = @"yuna123";
Regex regex = new Regex(ptn, RegexOptions.RightToLeft);
string output = regex.Replace(yourInputText, "xxxxx", 1);

也就是说,使用从右到左的匹配模式,然后只替换一个。。。
freeboy827 2008-10-04
  • 打赏
  • 举报
回复
要是用两次替换行吗,可以先把YUNA123替换成其他的字符串(除了最后一个),再把最后一个YUNA123替换成你想要的,然后还把第一步的还原
于娜 2008-10-04
  • 打赏
  • 举报
回复
xiexie
freeboy827 2008-10-04
  • 打赏
  • 举报
回复
没有看清不好意思
于娜 2008-10-04
  • 打赏
  • 举报
回复
?
freeboy827 2008-10-04
  • 打赏
  • 举报
回复

Regex re = new Regex("yuna123");
body = re.Replace(body,"",1);
于娜 2008-10-04
  • 打赏
  • 举报
回复
帮帮忙,我最近智力下降了 唉

62,046

社区成员

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

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

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

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