Regular Expressions using regexp

5 次查看(过去 30 天)
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 个评论
Adam Danz
Adam Danz 2019-5-10
Are "T" and "UZK" the only possible letters in the names?
Eduard Mazur
Eduard Mazur 2019-5-10
编辑:Eduard Mazur 2019-5-10
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..

请先登录,再进行评论。

采纳的回答

Stephen23
Stephen23 2019-5-10
编辑:Stephen23 2019-5-10
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 个评论
Eduard Mazur
Eduard Mazur 2019-5-10
Thanks for your helping!
This solution fit for me.
madhan ravi
madhan ravi 2019-5-10
Using exp as a variable name is not a good idea it would thwart the inbuilt function exp()

请先登录,再进行评论。

更多回答(0 个)

类别

Help CenterFile Exchange 中查找有关 Characters and Strings 的更多信息

产品


版本

R2018b

Community Treasure Hunt

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

Start Hunting!

Translated by