使用选项生成随机字符串

Ole*_*sii -1 .net c# string

你能告诉我是否有办法使用这些选项从另一个字符串创建一个字符串?

例如:

{嗨|你好|嘿},你今天怎么样?

此字符串是使用这些值随机生成的字符串的基础.

所以它可以是:

你好,今天好吗?或者你好,你好吗?或任何变化.

有一个简单的方法吗?

初始字符串不是"固定"的主要内容,因此它可以是具有任何{.. | ..}值的任何字符串,可以在任何地方找到这个字符串.

Dmi*_*nko 9

它可能是这样的:

  private static Random gen = new Random();

  ...
  String source = "{Hi|Hello|Hey}, how are you {today|doing}?";

  String result = Regex.Replace(source, @"\{(\w|\|)*\}", (MatchEvaluator) (
    (match) => {
       var items = match.Value.Trim('{','}').Split('|');

       return items[gen.Next(items.Length)];
     }));
Run Code Online (Sandbox Code Playgroud)

  • 就个人而言,我本可以让OP为自己付出一些努力,但在为实际问题提供解决方案方面做得很好;) (2认同)