Expressions régulières
Résolu
Utilisateur anonyme
-
Utilisateur anonyme -
Utilisateur anonyme -
Salut ! Mon affaire ne marche pas. Je voudrais ne récupérer que les chiffres et le point d'une valeur. Voici mon code en VB 2008 :
Public Function ExpRegPrix(ByVal PrixAConvertir As String) As Double
'Récupère que les chifrres est le point
Dim Tmp As String = PrixAConvertir.Replace(",", ".")
ExpRegPrix = System.Text.RegularExpressions.Regex.IsMatch(Tmp, "[^0-9.]")
End Function
Et dans un Sub :
Dim Prix As Double
Prix = ExpRegPrix("0.25 ¤")
Form1.TSStatusLabelTotal.Text = Format(Prix, "0.00 ¤")
Le résultat donne : 0,00 ¤ mais Prix = -1
Le symbole monétaire ¤ peut changer donc je cherche une expression régulière qui me retourne que les chiffres et le point.
Merci
Public Function ExpRegPrix(ByVal PrixAConvertir As String) As Double
'Récupère que les chifrres est le point
Dim Tmp As String = PrixAConvertir.Replace(",", ".")
ExpRegPrix = System.Text.RegularExpressions.Regex.IsMatch(Tmp, "[^0-9.]")
End Function
Et dans un Sub :
Dim Prix As Double
Prix = ExpRegPrix("0.25 ¤")
Form1.TSStatusLabelTotal.Text = Format(Prix, "0.00 ¤")
Le résultat donne : 0,00 ¤ mais Prix = -1
Le symbole monétaire ¤ peut changer donc je cherche une expression régulière qui me retourne que les chiffres et le point.
Merci
A voir également:
- Expressions régulières
- Expressions régulières "ne contient pas ..." ✓ - Forum Programmation
- Expressions francaises - Forum Études / Formation High-Tech
- Kyocera Ecosys P3060dn, traces régulières - Forum Imprimante
- Expressions visage bitmoji ✓ - Forum Snapchat
- Que veulent dire les expressions lol et mdr ? ✓ - Forum Loisirs / Divertissements
2 réponses
Voilà la réponse :
Imports System.Text.RegularExpressions
Module ModuleExpReg
Public Function DigitPointDigit(ByVal Convertir As String) As Double
'Récupère que les chifrres et le point
Dim Tmp As String = Convertir.Replace(",", ".")
Dim Resultat As Match = Regex.Match(Tmp, "(\d+\.\d+|\.\d+|\d+\.|\d+)")
Return Val(Resultat.Value)
End Function
End Module
C'est un module avec toutes les possibilités :
0.12
.12
3
3.
Etc.
Imports System.Text.RegularExpressions
Module ModuleExpReg
Public Function DigitPointDigit(ByVal Convertir As String) As Double
'Récupère que les chifrres et le point
Dim Tmp As String = Convertir.Replace(",", ".")
Dim Resultat As Match = Regex.Match(Tmp, "(\d+\.\d+|\.\d+|\d+\.|\d+)")
Return Val(Resultat.Value)
End Function
End Module
C'est un module avec toutes les possibilités :
0.12
.12
3
3.
Etc.
Public Function ExpRegPrix(ByVal PrixAConvertir As String) As String
'Récupère que les chifrres est le point
Dim Tmp As String = PrixAConvertir.Replace(",", ".")
Dim regex As System.Text.RegularExpressions.Regex = New Regex("\d+\.\d+")
Dim match As Match = regex.Match(Tmp)
ExpRegPrix = match.Value
End Function
Déclarer :
Imports System.Text.RegularExpressions
Public Function ExpRegPrix(ByVal PrixAConvertir As String) As String
'Récupère que les chifrres est le point
Dim Tmp As String = PrixAConvertir.Replace(",", ".")
Dim Resultat As Match = Regex.Match(Tmp, "\d+\.\d+")
ExpRegPrix = Resultat.Value
End Function
MERCI
je ne vous importunerez plus ; je ne suis pas comme vous un génie méconnu qui ne lit pas et est particulièrement impoli
en Blacklist