在字符串中查找单词并用c#替换后面的单词

本文关键字:单词 替换 字符串 查找 | 更新日期: 2023-09-27 18:28:08

嗨,我有一个字符串,这样:

string values = .....href="http://mynewsite.humbler.com.........href="http://mynewsite.anticipate.com..... and so on

我需要找到"mynewssite:"关键字,然后将"com"替换为"net"。字符串中有很多"com",所以我不能简单地使用值。替换方法。此外,除了"mysite",还有很多其他网站,所以我无法在http的基础上搜索。。。

在字符串中查找单词并用c#替换后面的单词

(?<=http:'/'/mynewsite'.)('w+'.)com

试试这个。替换为$1net。请参阅演示。

http://regex101.com/r/sU3fA2/26

由于C#正则表达式支持lookbehinds中的量词,您可以尝试下面的正则表达式。然后用.net 替换匹配的.com

@"(?<=(https?://)?(www'.)?('S+?'.)?mynewsite('.'S+?)?)'.com"

示例:

string str = @"....href=""http://mynewsite.humbler.com"" href=""www.foo.mynewsite.humbler.com"" foo bar href=""http://mynewsite.anticipate.com"" ";
string result = Regex.Replace(str, @"(?<=(https?://)?(www'.)?('S+?'.)?mynewsite('.'S+?)?)'.com", ".net");
Console.WriteLine(result);
Console.ReadLine();

输出:

....href="http://mynewsite.humbler.net" href="www.foo.mynewsite.humbler.net" foo bar href="http://mynewsite.anticipate.net" 

IDEONE