Fragensteller
2te Suche Zahl in String

Allgemeine Diskussion
-
Hallo Experten,
mir ist klar das ich ein ähnliche Frage bereits vor paar Tagen gestellt habe. Aber jetzt habe ich einen Fall und ich bekomme den Patternausdruck nicht hin.
Also ich habe einen String z.B
temp="aaaaaaaaaaaaa 2012 aaaaaaaaaaaa" oder
temp="aaaaaaaaa 210.12 aaaaaaaaaaaa" oder
temp="aaaaaaaaaaaaaaaaaaa 121200,12 aaaaaaaaaaaa"
Also, eine Zahl (auch Dezimal mit . oder ,) irgendwo im String größe unbekannt
Dim Zahlregex As System.Text.RegularExpressions.Regex = New System.Text.RegularExpressions.Regex(????) Dim Zahlmatch As System.Text.RegularExpressions.Match Zahlmatch = regex.Match(temp) If Zahlmatch.Success Then
Wie muss der Patternausdruck (siehe ????) aussehen?
mfg eem Monarch
- Typ geändert Ionut DumaModerator Freitag, 16. August 2013 14:14 Keine Rueckmeldung des Fragenstellender
Alle Antworten
-
Hallo, ich nehme mal an, das du die Zahl(en) haben willst. Das müsste über folgenden Regex gehen:
[^\d]*(\d+([,\.]\d+)?)[^\d]*
Zur Erklärung:
- \d
Ein Ziffernzeichen: 0123456789 - [^\d]
Alles außer einem Ziffernzeichen: abcdefghijklmnopqrstuvwxyz<>.:,;-_... - +
Ein oder mehr Vorkommen des vorhergehenden Teilausdrucks - *
Null oder mehr Vorkommen des vorhergehenden Teilausdrucks - ?
Kein oder ein Vorkjommen des vorhergehenden Teilausdrucks - \.
Punkt (.), da ein Punkt in Regex für ein beliebiges Zeichen stehen kann.
Der Regex verlangt nun, das eine oder mehrere Ziffern zwischen 0 oder mehr Nicht-Ziffern-Zeichen stehen. Die Zahl selbst, kann dabei ohne Dezimalteil oder mit Dezimalteil ([,\.]\d+) vorkommen.
Wenn du die gefundene(n) Zahl nun in Double o.ä. konvertieren willst, beachgte bitte die Kultur, da unter deutschen Systemen 12.3 nicht als 12,3 ekannt wird. Und unter Englischen 12,3 nicht 12.3 ist.
<Code-13/>- Koopakiller [kuːpakɪllɐ] (Tom Lambert)
Webseite | Code Beispiele | Facebook | Twitter | Snippets C# ↔ VB.NET Konverter
Markiert bitte beantwortende Posts als Antwort und bewertet Beiträge. Danke.- Bearbeitet Tom Lambert (Koopakiller)Moderator Freitag, 9. August 2013 15:25 Rechtschreibung
- \d
-
*****************************************************************************************************
Dieser Thread wurde mangels weiterer Beteiligung des Fragestellenden ohne bestätigte Lösung abgeschlossen.
Neue Rückfragen oder Ergänzungen zu diesem Thread bleiben weiterhin möglich.
*****************************************************************************************************Ionut Duma, MICROSOFT
Bitte haben Sie Verständnis dafür, dass im Rahmen dieses Forums, welches auf dem Community-Prinzip„Entwickler helfen Entwickler“ beruht, kein technischer Support geleistet werden kann oder sonst welche garantierten Maßnahmen seitens Microsoft zugesichert werden können.