我想从字母数字字符串中提取字符串'265.12'或'0.00',它可以在java中具有值'265.12+'或'265.12-'和'0.0+'或'0.0-' 。从字母数字字符串中提取数字
是否可以一次性更换而不是使用+和 - 符号的两种替换方法?
我想从字母数字字符串中提取字符串'265.12'或'0.00',它可以在java中具有值'265.12+'或'265.12-'和'0.0+'或'0.0-' 。从字母数字字符串中提取数字
是否可以一次性更换而不是使用+和 - 符号的两种替换方法?
我认为.replaceAll("\\$ ?(.+) ?[+-]", "$1")
应该做的伎俩。
PS:由@userUnknown重新校正 - ”
PS:通过@MarkoTopolnik :)
PS修正通过自己= d重新编辑
为什么不是“[+ \\ - ]”?更简单。 –
你说得对,我认为我们必须逃避'+'。 – sp00m
如果它是该组的最后一个或第一个字符,则不需要屏蔽组中的减号。 '[+ - ]'或'[ - +]'很好。 –
高效的实现您的具体使用情况:
String extractNum(String in) {
final char last = in.charAt(in.length()-1);
return (last == '+' || last == '-') ? in.substring(0, in.length()-1) : in;
}
这是不确定的标志将出现在最后,上面的方法可能会删除一些其他数据 – ank87
你甚至没有激励使用替换方法。您可以在检查最后一个字符的情况下使用子字符串方法。该条件可以作为switch语句完成。 –
输入和输出不清楚,你能给出一个完整的例子,说明一个字符串是什么样的,以及你想要提取什么? – amit
你想保留号码或除了号码以外的所有信息吗? –