C #: Манипулирование строками Поиск WildCard - PullRequest
0 голосов
/ 03 августа 2011

Я создаю поисковое приложение, которое ищет коллекцию по заданной строке + *

Например, у меня есть коллекция строк:

СМИТ

SMATH

ВАННА

SMAG

х

Test

Когда пользователь вводит * TH , вывод должен быть SMITH, SMATH и BATH

Когда пользователь вводит SM * TH , вывод должен быть SMITH и SMATH

Когда пользователь вводит SM *, вывод должен быть SMITH, SMATH и SMAG

Есть ли у вас какие-либо предложения о том, как это сделать?

1 Ответ

1 голос
/ 03 августа 2011

Посмотрите на регулярные выражения в .NET

Если у вас есть только подстановочный знак *, я бы, вероятно, заменил его на. * (0 или более символов) или. + (1 или более символов) в первом случае

что-то вроде (не проверено, но должно иметь все элементы, чтобы вы могли работать)

var pattern = "SM*TH"; 
var newpattern = pattern.Replace("*",".+"); 
var rex = new RegEx(newpattern); 
var match = rex.Match("SMITH")
...