0

私が比較している文字列の1つにワイルドカードがあり、通常はフォーマットの目的だけである文字列比較を行うことは可能ですか? 例えば

Dim correctFormat as String = "##-##-###-##"
Dim stringToCheck = someClass.SomeFunctionThatReturnsAStringToCheck
If FormatOf(CorrectFormat) = FormatOF(StringToCheck) then
 Else
End if

構成された FormatOf 構文を認識していますが、それを使用して、求めていることを示しているだけです。

4

3 に答える 3

4

正規表現は必要ありません。

、およびLikeをサポートする演算子を、ワイルドカードおよび文字リスト ( , )として単純に使用できます。?*#[...][!...]

したがって、コードを次のように変更するだけです。

If stringToCheck Like correctFormat Then

期待どおりに動作します。

于 2013-02-12T14:18:34.310 に答える
2

その方法は、正規表現を使用することです-それがその目的です。

これは、投稿した形式に一致する正規表現です。

^\d{2}-\d{2}-\d{3}-\d{2}$
于 2013-02-12T14:06:37.213 に答える
1

前回の投稿で述べたように、その目的には正規表現を使用する必要があります。正規表現はそのタスクに適しています。悲しいことに、それらを学ぶことは混乱を招く可能性があり、特にバグを見つけることは本当に面倒です. 私は以前、正規表現の構築とテストのためにhttp://www.regular-expressions.info/http://regexpal.com/が本当に好きでした。

VB.net では、reg.ismatch のようなものを使用します

于 2013-02-12T14:16:57.563 に答える