応答に常に同じパターン (ウガンダ シリングのテキスト) が含まれている場合、考えられる方法の 1 つは次のようなものです。
package so;
import java.util.StringTokenizer;
public class DemoString {
public static void main(String[] args) {
String s = new String("{lhs: \"1 U.S. dollar\",rhs: \"2 481.38958 Ugandan shillings\",error: \"\",icc: true}") ;
StringTokenizer st = new StringTokenizer(s, "\"");
st.nextToken(); //{lhs:
st.nextToken(); //1 U.S. dollar
st.nextToken(); //,rhs:
String value = st.nextToken(); //2 481.38958 Ugandan shillings
String num = value.substring(0, value.indexOf("U")); // 2 481.38958
num = num.replaceAll(" ", "");
Float fnum = 0f;
try {
fnum = Float.parseFloat(num);
} catch (Exception e) {
e.printStackTrace(System.out);
}
System.out.println("The float number is: " + fnum.toString());
}
}