嗨我有一个字符串:
string values = .....href="http://mynewsite.humbler.com.........href="http://mynewsite.anticipate.com..... and so on
我需要找到“mynewsite:keyword”,然后用“net”替换“com”。 字符串中有很多“com”,所以我不能简单地使用values.Replace方法。 此外,除了“mysite”之外还有很多其他网站,所以我无法在http ...
的基础上搜索答案 0 :(得分:0)
答案 1 :(得分:0)
由于C#正则表达式支持lookbehinds中的量词,你可以试试下面的正则表达式。然后将匹配的.com
替换为.net
@"(?<=(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"