nummerisches Zeichen in string finden

Bamboocha_10

Mitglied
Heute folgendes Porblem:
Ich habe in einen String Straße und Hausnummer. Ich brauche nur die Nummer.
Bsp.
1 Müllerstraße 15
2 Müllerstraße 15c
3 Müllerstraße15
4 Müllerstraße15c

Das sind die Möglichkeiten, die es gäbe. 1-3 bekomme ich wie folgt hin:

Code:
Dim ort As String
Dim nummer As String
Dim nummer1 As Integer
Dim posi1 As Byte

'Nummer vom ort Trennen
'Variante 1 und 2
   If InStrRev(ort, " ") <> 0 Then
       posi1 = InStrRev(ort, " ")
       nummer = Mid(ort, posi1 + 1)
       If Val(nummer) = 0 Then           'Falls im String "Müller Straße" (ohne Nummer steht)          
         nummer = ""                                      
     End If
   End If

'Variante 3
   If Val(StrReverse(ort)) <> 0 Then
   nummer1 = Val(StrReverse(ort))
   nummer = CStr(nummer1)
   nummer = StrReverse(nummer)
   End If

So, wie aber funktioniert es mit "Müllerstraße15c"?

Gibt es eine Funktion, die in einem String die Stelle sucht, an dem der erste nummerische Wert abgelegt ist?

Danke schon mal
 
Hallo, versuch´s mal so:
Code:
Private Sub Command1_Click()
  MsgBox GetNumber("Müllerstraße15c")
End Sub

Private Function GetNumber(ByVal Adresse As String)
Dim N As Long
Dim Pos As Long

For N = 1 To Len(Adresse)
  If IsNumeric(Mid(Adresse, N, 1)) Then
    Pos = N
    Exit For
  End If
Next

If Pos > 0 Then
  GetNumber = Mid(Adresse, Pos)
End If

End Function
 

Neue Beiträge

Zurück