我創建從一個給定的字符串搜索集合的搜索應用程序+ *C#:字符串操作通配符搜索
例如,我有這樣的字符串集合:
SMITH
SMATH
BATH
SMAG
X
測試
當用戶輸入* TH輸出應爲SMITH,SMATH和BATH
當用戶進入把SM * TH輸出應該是史密斯和SMATH
當用戶輸入SM *輸出應該是SMITH,SMATH和SMAG
你有關於如何做到這一點的任何建議?
我創建從一個給定的字符串搜索集合的搜索應用程序+ *C#:字符串操作通配符搜索
例如,我有這樣的字符串集合:
SMITH
SMATH
BATH
SMAG
X
測試
當用戶輸入* TH輸出應爲SMITH,SMATH和BATH
當用戶進入把SM * TH輸出應該是史密斯和SMATH
當用戶輸入SM *輸出應該是SMITH,SMATH和SMAG
你有關於如何做到這一點的任何建議?
有在.NET
看看regular expressions如果你只有一個通配符*我大概用替換此。*(0個或多個字符)或+(1個或更多字符)一審
像(未經測試,但應有的一切元素,讓你去)
var pattern = "SM*TH";
var newpattern = pattern.Replace("*",".+");
var rex = new RegEx(newpattern);
var match = rex.Match("SMITH")
我建議使用正則表達式這個..請參考http://www.dotnetperls.com/正則表達式匹配和http://www.mikesdotnetting.com/Article/46/CSharp-Regular-Expressions-Cheat-Sheet – iamserious
您的規格不完整。你會期望字符串「SMTH」匹配「SM * TH」嗎? IOW,可以*代表一個零長度的字符串? – AnthonyWJones
*表示單個字符 – xscape