c# 正则匹配后轮换,同一个词替换为不同的词
c# 正则匹配后替换,同一个词替换为不同的词
求教如何实现呢?
------解决方案--------------------
Regex.Replace 有一种用法是带 Count 参数的, 传入1可以只替换一个, 多替换几次,每次传入随机的替换字符串.
------解决方案--------------------
string content="这是中国一个中国二个中国";
Regex r1 = new Regex(@"中国");
string s=r1.Replace(content,"aa",2);
------解决方案--------------------
用正则以“中国”分划数组得string[] ary={"这是","一个","二个"}
然后再用合并,每个单元随机加上世界,地球,宇宙
注意:Regex里有个方法是以正则分划数组的
------解决方案--------------------
string content = "这是中国一个中国二个中国";
content = Regex.Replace(content, @"(?<=中国.*?)中国", t => "世界,地球,宇宙,中国".Split(',') .OrderBy(tt => Guid.NewGuid()).First());
Console.WriteLine(content);
------解决方案--------------------
有参数让它只匹配一次啊
------解决方案--------------------
string content="这是中国一个中国二个中国";
Regex r1 = new Regex(@"中国");
string s=r1.Replace(content,"aa",1); -- 把这个改成一个方法不就行了?“aa”是方法参数。
string content="这是中国一个中国二个中国";
Regex r1 = new Regex(@"("中国 ")");
MatchCollection matchCollection = r1.Matches(content);
foreach (Match m in matchCollection)
{
将匹配出来的中国随机替换为世界,地球,宇宙,或不替换(根据随机数判断) , 不能将全部中国替换为一个词.
}
求教如何实现呢?
------解决方案--------------------
Regex.Replace 有一种用法是带 Count 参数的, 传入1可以只替换一个, 多替换几次,每次传入随机的替换字符串.
------解决方案--------------------
string content="这是中国一个中国二个中国";
Regex r1 = new Regex(@"中国");
string s=r1.Replace(content,"aa",2);
------解决方案--------------------
用正则以“中国”分划数组得string[] ary={"这是","一个","二个"}
然后再用合并,每个单元随机加上世界,地球,宇宙
注意:Regex里有个方法是以正则分划数组的
------解决方案--------------------
string content = "这是中国一个中国二个中国";
content = Regex.Replace(content, @"(?<=中国.*?)中国", t => "世界,地球,宇宙,中国".Split(',') .OrderBy(tt => Guid.NewGuid()).First());
Console.WriteLine(content);
------解决方案--------------------
有参数让它只匹配一次啊
------解决方案--------------------
string content="这是中国一个中国二个中国";
Regex r1 = new Regex(@"中国");
string s=r1.Replace(content,"aa",1); -- 把这个改成一个方法不就行了?“aa”是方法参数。