Java 删除美元符号并将价格转换为指定格式

Java 删除美元符号并将价格转换为指定格式,java,regex,Java,Regex,我有一个这种类型的字符串: String price=“$34.56-$98.45”或可以是简单的“$34.56” 我想将这个字符串分别转换为34.56-98.45和34.56 用Java做这件事最好最简单的方法是什么。我正在尝试一些正则表达式,但没有找到。您可以尝试使用此正则表达式: String val=price.replaceAll("[^\\P{Punct}-.]+", ""); //[^\\P...] (negated character class of characters no

我有一个这种类型的字符串:

String price=“$34.56-$98.45”或可以是简单的“$34.56”

我想将这个字符串分别转换为34.56-98.45和34.56


用Java做这件事最好最简单的方法是什么。我正在尝试一些正则表达式,但没有找到。

您可以尝试使用此正则表达式:

String val=price.replaceAll("[^\\P{Punct}-.]+", "");
//[^\\P...] (negated character class of characters not having the property)

string.replaceAll(“\\s*\\$”,”)
@AvinashRaj不应该是
[\s$]
,以捕获连字符前的空格?可能的