Mailinglisten-Archive |
Nico Haase schrieb:
> Hallo,
> ich suche eine Möglichkeit, aus einem String, in dem aktuell Straße und
> Hausnummer im üblichen Format hintereinander stehen, so erfolgreich wie
> möglich beide Werte voneinander zu trennen. (...)
Hallo Nico,
ich hatte mal das gleiche Problem, hier meine Lösung (allerdings VB,
nicht PHP, ist aber glaube ich verständlich):
'Straße, Haus-Nr.
STRAST = qcase$(STRAST) 'Straße und Haus-Nr. GROSS -> Groß/klein
p = 0
For iz% = 1 To Len(STRAST) 'Pos. der ersten Ziffer ermitteln (Haus-Nr.)
If p = 0 Then
Select Case Asc(Mid$(STRAST, iz%, 1))
Case 48 To 57 '0 bis 9
p = iz%
End Select
End If
Next iz%
If p > 0 Then
PraktkntTab.Fields("PRStr").Value = Left$(STRAST, p - 1)
STRAST = Right$(STRAST, Len(STRAST) - p + 1)
p = 0
For iz% = 1 To Len(STRAST) 'Pos. der ersten Nicht-Ziffer
ermitteln (Eingang)
If p = 0 Then
Select Case Asc(Mid$(STRAST, iz%, 1))
Case 48 To 57 '0 bis 9
Case Else
p = iz%
End Select
End If
Next iz%
If p > 0 Then
PraktkntTab.Fields("PRHaus").Value = Left$(STRAST, p - 1)
PraktkntTab.Fields("PREing").Value = Right$(STRAST,
Len(STRAST) - p + 1)
Else
PraktkntTab.Fields("PRHaus").Value = STRAST
PraktkntTab.Fields("PREing").Value = ""
End If
Else
PraktkntTab.Fields("PRStr").Value = STRAST
PraktkntTab.Fields("PRHaus").Value = ""
PraktkntTab.Fields("PREing").Value = ""
End If
Vielleicht hilft's weiter.
Freundliche Drüße
Michael Detambel
--
Berufsförderungswerk Oberhausen
im Nordrhein-Westfälischen Berufsförderungswerk e.V.
Bebelstr. 56
46049 Oberhausen
Tel.: 0208 8588 - 103
Fax: 0208 8588 - 277
E-Mail: detambel(bei)bfw-oberhausen.de
Web: www.bfw-oberhausen.de
Vorsitzende des Vorstandes: Heinz Krumnack, Wilfried Gleitze
Direktor: Herbert Schmidt
Amtsgericht Dortmund VR 1813
IK-Nr.: 510 510 143
St.-Nr. 315/5795/0037
Steuerfrei nach § 4 Nr. 21 a bb) UStG
php::bar PHP Wiki - Listenarchive