Visual Basic 中学校 掲示板 投稿の管理
タグのない投稿を抽出
統計
RSS
Visual Basic 中学校
投稿一覧
文字列から数値だけを取り出す
この投稿へのリンク
https://keijiban.umayadia.com/ThreadDetail.aspx?ThreadId=10004#CommentId16946
この投稿の削除
削除パスワード
削除する
コメント本文
投稿者
魔界の仮面弁士
 (社会人)
投稿日時
2011/2/5 09:24:11
> Public Function GetNumber(ByVal Str As String) As String
Str という変数名は避けた方が良いと思いますよ。
VB には『Str 関数』という物がありますので、たとえ動作上は問題が無くとも、
コードとして見たときに、どちらの意味であるのか分かりにくくなってしまいます。
> For i As Integer = 1 To Str.Length
> Search = Mid(Str, i, 1)
String は Char の配列のように扱う事が出来ます。
そのため 1文字ずつ取り出す場合は、Mid 関数を使わずとも
For i As Integer = 0 To Str.Length - 1
Dim Search As Char = Str(i)
のようにして、String のインデクサを使って簡単に取り出すことができます。
# 上記の「Str(i)」は、Str関数の事ではなく、「Str.Chars(i)」の方の意味です。
さらに言えば、ループ処理を For から For Each に変更することで
For Each Search As Char In Str
If Search Like "[0-9]" Then
ResultNumber.Append(Search)
End If
Next
のように短く書く事もできます。