Using regular expressions to identify names and unit from string
13 Ansichten (letzte 30 Tage)
Ältere Kommentare anzeigen
Valentin Kaisermayer
am 17 Jul. 2018
Bearbeitet: jonas
am 17 Jul. 2018
Hello,
I have the following strings
'name1/name2 [°C]'
'name1/name2 [kW]'
'name1/name2 [%]'
or
'name1/name2 {0,1}'
or
'name1/name2'
How can I use regular expressions to find the names and the unit, if there is any?
Thanks!
0 Kommentare
Akzeptierte Antwort
jonas
am 17 Jul. 2018
Bearbeitet: jonas
am 17 Jul. 2018
You could do it in two steps, like this:
str='name1/name2 [C]'
%%Extract unit, if there is one
exp=']|[|}|{';
id=regexp(str,exp);
if isempty(id)==0
unit=str(id(1)+1:id(2)-1)
end
%%Extract name
exp='/| ';
id=regexp(str,exp);
if numel(id)==2
name1=str(1:id(1)-1)
name2=str(id(1)+1:id(2)-1)
else
name1=str(1:id(1)-1)
name2=str(id(1)+1:end)
end
If you do not want to save whatever is within the curly brackets as units, then remove those from the first expression.
0 Kommentare
Weitere Antworten (0)
Siehe auch
Kategorien
Mehr zu Text Data Preparation finden Sie in Help Center und File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!