[英]searching a jumbled string in a list of strings in C#
我正在使用.NET2.0
我想在字符串列表中搜索混亂的字符串
string[] wordList = new string[] { "java", "csharp", "fortran", "cobol", "pascal", "perl", "flash" };
string findText = "spclaa";
// do stuff
我希望結果是“ pascal”,如果找不到,也要給“對不起,找不到”
更新:
好吧,一種方法是:
值得注意的是,兩個單詞可能具有相同的字符內容,但不相等。 例如,“ neo”和“ one”具有相同的字符,但顯然不是相同的詞。
更新資料
正如Paul所建議的,如果僅對與搜索詞具有相同字符數的字符串進行排序,這會更好。
聞起來像作業
對findText中的字符進行排序。 排序wordList中每個單詞的字符並創建一個新列表。 將排序后的findText與每個排序后的單詞進行比較。 如果找到匹配項,請在原始wordList中的相同索引處查找該單詞。
(您可能在比較之前就可以對wordList中的單詞進行排序)
編輯:如果您真的不想對它們進行排序,
計算findText中每個字母有多少個。
一種方法可能是對每個字符串和比較字符串中的字符進行排序,然后以這種方式進行比較。
java becomes aajv
csharp becomes achprs
pascal becomes aaclps
scplaa becomes aaclps
比較排序后的字符串是否相等,如果沒有匹配項,則返回找不到。
1.過濾數組列表,例如搜索字符串長度等於數組列表元素
2.比較數組列表元素中的每個字符。 如果找到增量計數並刪除該字符數組列表元素。
3.如果count等於搜索字符串而不是打印數組元素,否則找不到元素
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.