[英]How to check the repeated characters in a string
我正在創建一個程序,用於過濾和檢查單詞是否存在於字典中。 問題是如何知道單詞是否包含重復字符。
例如:
string string1 = "sorrrrrrry";
該字符串在字典中不存在,但是如果您刪除重復的r,將是“抱歉”。
我正在使用hunspell檢查字典中是否存在該單詞。 有什么解決辦法嗎? 提前致謝
對於您的情況,您可以做的是:
使用正則表達式(\\w)\\1+
(匹配重復字符)和替換第一時間由$1$1
(2反復匹配的字符)和由$1
string input = "sorrrrrrry";
Regex regex = new Regex(@"(\w)\1+");
string replacement = "$1$1";
string res = regex.Replace(input, replacement);
Console.WriteLine(res);
//will output => sorry
replacement = "$1";
res = regex.Replace(input, replacement);
Console.WriteLine(res);
//will output => sory
警告這可能會產生一些結果, 但是它有一些局限性,並且可能會產生意外的結果:
您只能嘗試通過幾種模糊邏輯方法來猜測哪個單詞是哪個單詞,該單詞可以匹配詞典中的某些單詞,如果找到多個單詞,則顯示一個列表。
也許您知道,智能手機鍵盤如何嘗試為您提供幫助。
這種方式或多或少是不正確的方式(在鍵入過程中)。
但是之后也是可能的,但是需要更多的努力。
您可能需要研究將字典存儲在Lucene.Net中,並使用其寬松的匹配功能來匹配單詞。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.