Extract the number within the bracket
22 visualizzazioni (ultimi 30 giorni)
Mostra commenti meno recenti
Gopalakrishnan venkatesan
il 29 Giu 2015
Modificato: Thorsten
il 29 Giu 2015
I have string a = 'a_b_c_d(1.0)'
I need to extract the number within the bracket.
my answer shoud be b = '1.0'
how can i do this using regular expression or other method?
Thank you
4 Commenti
Guillaume
il 29 Giu 2015
It may be safer to use a non-greedy * (that is *?) in case there is more than one bracketed expression in the string.
Risposta accettata
Guillaume
il 29 Giu 2015
Modificato: Guillaume
il 29 Giu 2015
Any number of regular expression would do 'extract whatever is between two brackets:
str = 'a_b_c_d(1.0)';
regexp(str, '(?<=\()[^)]*(?=\))', 'match', 'once')
is one possibility. This
- looks ahead for an opening bracket.
- matches any number of characters as long as they're not a closing bracket
- looks behind for a closing bracket.
Più risposte (1)
Thorsten
il 29 Giu 2015
Modificato: Thorsten
il 29 Giu 2015
This extracts all digits and all '.' from a:
numstr = a(regexp(a, '[\d\.]'))
This extracts all numbers between ( ), where number must have at least one digit before the point and one digit after the point:
numstr = regexp(a, '\((\d+\.\d+)\)', 'tokens')
The outer \( and \) match the '(' and ')', resp., in a, and the inner ( ) are meta-characters to group a token.
Vedere anche
Categorie
Scopri di più su Logical in Help Center e File Exchange
Community Treasure Hunt
Find the treasures in MATLAB Central and discover how the community can help you!
Start Hunting!