2009-05-29 13 views

答えて

12

iswdigit()iswalpha()iswalnum()は、あなたが探している機能です。

乾杯!

+0

isdigit()、isalpha()、isalnum()と同じものをチェックしないでください。元の投稿は、非ラテン数字と文字を検出するように求められているようです。 – celticminstrel

2

This Microsoft documentation pageには、正規表現の「Unicode文字クラス」が記載されています。答えは純粋なWin32 C++ではなく、.Netドメインにあると思いますが、おそらくあなたは何かを掘り起こすことができます。

+0

リンクはRegex構文リファレンスにつながります。 – n0rd

4

ICUライブラリをお勧めします。 Unicodeデータと、C++用のまともなUnicode文字列クラスがあります。

5

別のオプションのWin32 API呼び出しGetStringTypeW()

+0

それは正しいもののように見えます。 –

1
Private Declare Function GetStringTypeW Lib "Kernel32" (ByVal InfoType As Long, Text As Byte, ByVal Length As Long, Types As Integer) As Long 
... 
Dim S As String, B() As Byte, C() As Integer, L as Long 
L = Len(S) 
ReDim C(1 To L) 
B = S 
If GetStringTypeW(1, B(0), L, C(1)) Then 
    'Character classes are in C. 
Else 
    'Something went wrong. Deal with it or call Err.Raise. 
End If 
関連する問題