簡體   English   中英

如何在C#中獲取英語中所有4個字母單詞的列表

[英]How to get the list of all 4 letter words in the English language in C#

我是初學者,一直在玩C#。 我最近為非常受歡迎的“牛和公牛”文字游戲編寫了代碼。 它為2名球員工作,即; 一個玩家想到一個單詞而另一個人必須猜測它。 我只有10次機會猜測。

我現在想要為單個玩家制作游戲(Computer v Human)。 我想知道是否還有沒有字母重復的英語語言中的所有4個字母的單詞(我將游戲僅限於4個字母單詞)。 我知道我可以使用Enumeration並寫下所有4個字母的單詞。 但那是硬編碼的話。 這將是我的最后一個選擇。我可以輸入所有單詞,但如果我玩游戲,我會對這個單詞有所了解。

假設你有一個名為words列表的words列表

您可以使用正則表達式選擇4個字母的唯一單詞

 List<string> 4letterUniqueWords=words
.Where(x=>Regex.IsMatch(x,"^(?=^[a-zA-Z]{4}$)(?!^.*?(.).*?\1.*?$).*?$"))
.Select(y=>y)
.ToList<string>();

^(?=^[a-zA-Z]{4}$)(?!^.*?(.).*?\1.*?$).*?$
  ---------------  ------------------ ---
        |                  |           |->matches if both the lookaheads are true
        |                  |->checks if there are any repeating words
        |->checks if the words contains 4 letter alphabetic words

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM