txt2のなかにtxt1に入力した文字がいくつあるか調べるFunctionです。
これに大文字、小文字の区別をしないでも検索する機能を追加したいのですが、どうしたら良いのでしょう?下記のコードは、大文字、小文字の区別をして値を返します。
Public Function WordCount (txt1 as string, txt2 as string) as long
Dim i As Integer = 0
Dim j As Integer = 0
Dim k As Integer = txt1.Length
Do
i = txt2.IndexOf(txt1, i)
If i >= 0 Then
i = i + k
j = j + 1
End If
Loop Until i < 0
Return j
http://jeanne.wankuma.com/tips/string/07-lowerupper.html
どちらかに変換してしまえば、区別はないよね?
PS
件名と、内容は一致させてください。
件名:大文字と小文字を区別したい
内容:大文字と小文字を区別したくない。
これでは、逆です。
有難うございました。
>いなさん
こちらを貼って頂きたかったです。(´;ω;`)
http://jeanne.wankuma.com/tips/string/06-compareignore.html
>じゃんぬねっとさん
要するにいなさんの言ってるのは、
i = txt2.IndexOf(txt1, i) -> i = txt2.ToLower.IndexOf(txt1.ToLower, i)
又は
i = txt2.IndexOf(txt1, i) -> i = txt2.ToUpper.IndexOf(txt1.ToUpper, i)
ということでは。
String.Compare メソッドでの処理は上のコードに比べると、少々面倒コードになるような
気もするのですが。(単に私の力不足か?)
>VB.NET勉強さん
i = i + k -> i += k
j = j + 1 -> j += 1
自分で書いておいて申し訳ないが、上の書き方に慣れた方が良いかも。orz
>こちらを貼って頂きたかったです。(´;ω;`)
じゃんぬねっと さん、ごめんなさい。
前のスレッドで大文字、小文字のほにゃらら・・・。って合ったので
ぐぐってラッキーのアドレス(=I'm Feeling Lucky)を張ってしまいました。
ん〜、反省
ツイート | ![]() |