Extract number from string using regex in java -


i fail extract (double) number pre-defined input string using regular expression.
string is:

string inputline ="neuer kontostand";"+2.117,68"; 

for parsing number need suppress leading + while keeping optional -. in addition must cut off " before/after number.

of course multi-step string-operations, know how in more elegant way using 1 regular expression?

what tried far:

pattern p = pattern.compile("-{0,1}[0-9.,]*"); matcher m = p.matcher(inputline); string substring =m.group(); 

pattern.compile("-?[0-9]+(?:,[0-9]+)?") 

explanation

 -?        # optional minus sign [0-9]+    # decimal digits, @ least 1 (?:       # begin non-capturing group   ,       #   decimal point (german format)   [0-9]+  #   decimal digits, @ least 1 )         # end non-capturing group, make optional 

note expression makes decimal part (after comma) optional, not match inputs -,01.

if expected input always has both parts (before , after comma) can use simpler expression.

pattern.compile("-?[0-9]+,[0-9]+") 

Comments

Popular posts from this blog

android - getbluetoothservice() called with no bluetoothmanagercallback -

sql - ASP.NET SqlDataSource, like on SelectCommand -

ios - Undefined symbols for architecture armv7: "_OBJC_CLASS_$_SSZipArchive" -