在字符串中查找单词并用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的基础上搜索。。。
(?<=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