【发布时间】:2014-01-25 11:18:45
【问题描述】:
Random rnd = new Random(DateTime.Now.Millisecond);
string rt = "tst xtstx xtste tst tst!!";
if (rnd.Next(3) == 0)
{
string[] replaceWords = { "something", "nice" };
rt.Replace("tst", replaceWords[rnd.Next(replaceWords.Length - 1)]);
}
if (rnd.Next(3) == 0)
{
string[] replaceWords = { "cool", "crazy" };
rt.Replace("xtste", replaceWords[rnd.Next(replaceWords.Length - 1)]);
}
我想用 33% 的机会从数组中随机替换一个单词。问题是如果我运行它,它将替换所有出现的 tst,并且只替换这个出现:
string rt = "tst xtstx xtste tst tst!!";
// /\ /\ /\
有更好的方法来做到这一点,只替换单词? 我将在我的代码中多次使用相同的想法。
【问题讨论】:
-
@crush replce("\btst\b") ?
-
我对你想要做什么有点困惑我想......你能更好地澄清你的问题吗?
标签: c# regex arrays string replace