0

Unicode には文字のカテゴリがあります。一部は英数字です。一部は句読点です。

単語がキーワードに属しているかどうかを知りたい場合はどうなりますか

例えば、

A、a、b、c は単語に属する傾向があります。Ƈ、Ǝ、ǟもそうですし、すべての漢字もそうです。

のような文

Hello World, I "like" (to)  eat ƇƎǟ and 款开源 ©

キーワードを持っている:

Hello
World
I
like
to
eat
ƇƎǟ
款
开
源

ここで、、()、© は単語の文字ではないため、無視して使用する必要があります。

©も句読点としてカウントされません。'©'.IsPunctuation は vb.net で false を返しますが、それも取り除きたいです。

今度は文をキーワードに分割できるプログラムを作りたいと思っています。そのためには、どの文字が単語の文字で、どの文字がそうでないかを知る必要があります。

そのための vb.net 関数はありますか?

4

2 に答える 2

1

IsLetterに、テストに使用します。または、正規表現を使用して文字列を単語ごとに分割することもできます。

Dim str = "Hello World, I ""like"" (to)  eat ƇƎǟ and 款开源 ©"
Dim wordPattern As New Regex("\p{L}+")

For Each match in wordPattern.Matches(str))
    Console.WriteLine(match)
Next

ここでは、\p{L}任意の単語文字に一致します。ただし、文字間に区切り文字がないため、上記は個別の一致ではなく単一の「款开源」と一致します。

于 2012-12-26T11:33:26.323 に答える
-2


文字[az]だけが必要な場合のよう
に、「キーコード」を処理する必要があります。

       for(c>='a' && c<='z'){
       }

また

       for(c>=97 && C<=122){
        }
于 2012-12-26T07:19:51.287 に答える