-1

変数文字列から多くの異なる値/文字列を抽出する効率的な方法が必要です

double A = 0;
int B = 0;
double C = 0;
String D = null;
int E = 0;
double F = 0;
String D = null;
[...]


string1 = "A=1.00;B=2;C=1.00;D=TEST;E=24;F=0.00;D=FS[...]"
string2 = "A=3.00;B=3;D=SOMESTRING;E=24;F=0.00;[..]"
string3 ="A=2.64;B=4;C=1.00;D=SOMEOTHERSTRING;E=24;D=FS[...]"

それを行うための効率的で高速でおそらくエレガントな方法はありますか?

私はすでに .split(";") で試しましたが、文字列が variabel の場合、問題があります!

このトピックに関するアイデア/ヘルプをありがとう!

4

2 に答える 2

0
string1 = "A=1.00;B=2;C=1.00;D=TEST;E=24;F=0.00;D=FS[...]"

Matcher matcher = Pattern.compile("[A][=]([0-9]+\\.[0-9]+)").matcher(info);
if (matcher.find()) {
    A = Double.parseDouble(matcher.group(1));
}
于 2013-10-29T15:57:53.570 に答える
0

文字列パラメーターのセッター メソッドを使用できる場合は、リフレクションを使用できます

String[] split1 = string1.split(";");
for (int i=0;i<split1.length;i++) {
  String[] insideSplit = split1[i].split("=");
  java.lang.reflect.Method method;
  try {
    method = this.getClass().getMethod("set" + insideSplit[0], String.class);
    method.invoke(this, insideSplit[1]);
  } catch (Exception e) {
  // ...
 }
}

次に、セッターメソッド内で、それに応じて文字列値を処理できます(それらを double または int または必要なものに変換するため)

于 2013-10-29T15:16:01.547 に答える