Regular expressions: number that does not begin or end with a letter
3 vues (au cours des 30 derniers jours)
Afficher commentaires plus anciens
L_Del
le 13 Juin 2019
Réponse apportée : L_Del
le 13 Juin 2019
Hi
This is my first post here.
I'm trying to read a file that has strings like this one c0, ("cee zero comma") but it has other strings like 117. So I need to create a regular expression that only selects numbers that don't have any non numbers in front of them. Makes sense?
How can I select only the 0?
I have tried ^(?![\D][0-9]+ without success. I know this doesn't do anything at the end.
In simpler terms, what I'm trying to achieve is this: use regexp to only select decimal numbers and integers (but the interger part should not select integers that are in the decimal number...) .
Here is one of the lines I'm working on: d="M117.125,310.375c0,-77.729,80.738,-140.625,180.515,-140.625" />
0 commentaires
Réponse acceptée
Debasish Samal
le 13 Juin 2019
Modifié(e) : Debasish Samal
le 13 Juin 2019
Here is a solution to your answer. This solution separates all the decimal numbers/integers from the non integers/decimals.
str = "M117.125,310.375c0,-77.729,80.738,-140.625,180.515,-140.625" ;
exp1 = ',';
splitStr = regexp(str,exp1,"split");
exp3 = '[^0-9.,-]'
splitStr = regexprep(splitStr,exp3,'')
Output:
"117.125" "310.3750" "-77.729" "80.738" "-140.625" "180.515" "-140.625"
If this is what you needed, try the above regexp.
If you dont split the string at the commas you get this output.
splitStr = "117.125,310.3750,-77.729,80.738,-140.625,180.515,-140.625"
0 commentaires
Plus de réponses (1)
Voir également
Catégories
En savoir plus sur Characters and Strings dans Help Center et File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!