gpt4 book ai didi

c# - 提取括号中的单词,清晰且随机

转载 作者:太空宇宙 更新时间:2023-11-03 23:15:38 24 4
gpt4 key购买 nike

示例“[狗]猫[狮子]熊[狗][老鼠] Camel [狮子][熊]斑马”

从上面的字符串中,我想要一个如下所示的返回字符串。

--> 老鼠/狮子/熊/狗

规则是:

  1. 我想要不同的单词
  2. 仅定位括号中的字词
  3. 大写被视为小写
  4. 提取的单词将以“/”分割
  5. 它们将按随机顺序排序

我在下面的 C# 中尝试过,但没有成功。

谁能给我 C# 的最佳实践?

string input = "[dogs] cats [lions] bears [Dogs] [mice] camels [lions] [bears] zebras";
var pattern = @"(\[.+?\])";
Regex regex = new Regex(pattern);
input = regex.Matches(input)[0].ToString();
string[] words = input.Split(' ');
var lambda = words.Select(s => s).Distinct();
string re= string.Join(" / ", lambda.Select(item => item.ToString()));
// want re to be like --> "mice / lions / bears / dogs"

最佳答案

试试这个:

var input = "[dogs] cats [lions] bears [Dogs] [mice] camels [lions] [bears] zebras";
var pattern = @"(\[.+?\])";
var regex = new Regex(pattern);

var rnd = new Random();

var result =
String.Join(
" / ",
regex
.Matches(input)
.OfType<Match>()
.Select(x => x.Value)
.Select(x => x.Substring(1, x.Length - 2).ToLower())
.Distinct()
.OrderBy(x => rnd.Next()));

我得到这样的结果:

lions / mice / bears / dogsdogs / mice / bears / lions

关于c# - 提取括号中的单词,清晰且随机,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37337283/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com