Поиск определенного формата в строке - PullRequest
2 голосов
/ 10 августа 2011

Мне нужно собрать некоторые данные, основываясь на том, появляется ли в данных номер SSN.У меня есть это в строке, что мне нужно сделать, это найти числовой шаблон в строке, такой как:

###-##-####

Я немного изучил регулярное выражение, но у меня мало времени, чтобы прочитатьглубоко в этом (моей компании нужна программа на этой неделе), и это кажется слишком сложным, чтобы понять в такой короткий промежуток времени.До сих пор я сталкивался с:

If (rec.address1 Like "###-##-####")

, но я не знаю, отфильтрует ли это его из строки (может появиться с прикрепленным адресом).

Ответы [ 2 ]

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

Если вы используете Like, попробуйте этот шаблон (с некоторыми примерами):

Dim pattern as string = "*###-##-####*"

Console.WriteLine("Dave111-22-3333H" Like pattern)      'True
Console.WriteLine("111-22-3333H" Like pattern)          'True
Console.WriteLine("Dave111-22-3333" Like pattern)       'True
Console.WriteLine("Dave111-2DDD2-3333H" Like pattern)   'False
Console.WriteLine("333111-22-3333" Like pattern)        'True
Console.WriteLine("D111-22-33331231223" Like pattern)   'True

* - это символ подстановки. Вот ссылка с хорошим набором примеров.

Если вы просто используете шаблон в своем вопросе, он не отфильтрует его. Но если вы окружите свой шаблон подстановочными знаками, тогда он будет.

Надеюсь, это поможет!

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

Like вернет всю строку (при условии, что вы сравниваете с "*###-##-####*". Кроме того, я знаю только об использовании регулярных выражений.

Хотя это действительно просто, шаблон просто число?Например, 999-99-9999? Если это так, ваше регулярное выражение будет:

\d\d\d-\d\d-\d\d\d\d

Теперь вы можете использовать методы, которые будут извлекать это число (если совпадение найдено).

...