Regular Expressions using regexp

2 visualizzazioni (ultimi 30 giorni)
Eduard Mazur
Eduard Mazur il 10 Mag 2019
Modificato: Stephen23 il 10 Mag 2019
Hello, I have some problem with understanding regexp expression
I have some names: ["T_24_UZK500.txt"; "FWD_T80_UZK500.txt"; "T80_UZK700.txt"]
how can I get numbers after "T" and after "UZK"?
I need a rule that will describe only the numbers after the designated patterns.
  2 Commenti
Adam Danz
Adam Danz il 10 Mag 2019
Are "T" and "UZK" the only possible letters in the names?
Eduard Mazur
Eduard Mazur il 10 Mag 2019
Modificato: Eduard Mazur il 10 Mag 2019
It's variable symbols which are defined earlier.
I mean, I have filenames (string) and patterns (variable inside this names). With this information I need extract numerical vallues after variables..

Accedi per commentare.

Risposta accettata

Stephen23
Stephen23 il 10 Mag 2019
Modificato: Stephen23 il 10 Mag 2019
Matching only integer numbers after 'UZK' or 'T_' (it is unclear in your question if the underscore is permitted or not, but the regular expression below is easy to adapt):
>> S = {'T_24_UZK500.txt';'FWD_T80_UZK500.txt';'T80_UZK700.txt'};
>> C = regexp(S,'(?<=(T_?|UZK))\d+','match');
>> C{:}
ans =
'24' '500'
ans =
'80' '500'
ans =
'80' '700'
Or simply by matching any integer numbers:
>> C = regexp(S,'\d+','match');
>> C{:}
ans =
'24' '500'
ans =
'80' '500'
ans =
'80' '700'
  4 Commenti
Eduard Mazur
Eduard Mazur il 10 Mag 2019
Thanks for your helping!
This solution fit for me.
madhan ravi
madhan ravi il 10 Mag 2019
Using exp as a variable name is not a good idea it would thwart the inbuilt function exp()

Accedi per commentare.

Più risposte (0)

Categorie

Scopri di più su Characters and Strings in Help Center e File Exchange

Prodotti


Release

R2018b

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by