[英]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.