1つの長い文字列から2つの特定のデータを抽出しようとしています。値の両方が「=」の後ですが、問題は、私はもっぱらちょうど私が必要とするデータの一部が同様にそれらが含まれているため、すべては「=」にデータを分割することはできませんです。複数の文字列解析を1つの文字列に変換しようとしています
以下example: "{col1=RND393JKDN, col2=DJW//39ndo==8}
desired format: "RND393JKDN, DJW//39ndo==8"
がありますコード私はそう修正するために書かれているが、他の作品は、私が入力されますどのように多くの列が不明だということですので、私は次のように列の未知の量を処理できるようにする必要があり:"{col1=value1, col2=value2, col3=value3}"
for(int i = 0; i < finalResult.size(); i+=modval) {
//below forces the result to get stored in below variable as a String type
String resulttemp = finalResult.get(i).toString();
//below is only for
for(int z = 0; z < columnHeaders.size(); z++) {
String newStr=finalResult.get(i).replaceAll("\\[", "").replaceAll("\\]", "").replaceAll("\\{", "").replaceAll("\\}", "");
String newStr2;
String newStr3;
String find = "=";
newStr = (newStr.substring(newStr.indexOf(find)+find.length()));
newStr2 = (newStr.substring(newStr.indexOf(find)+find.length()));
newStr3 = (newStr2.substring(newStr.indexOf(find)+find.length()));
pw.printf("%s\n", newStr, newStr3);
}
}
多分、col1 =(? [^、] +) '(各列に対して繰り返す)パターンを探し、その後に連結します。 –
replaceAllは正規表現を受け入れます。なぜ、メソッドを連鎖させるのではなく、文字クラスを使用しないのですか? –
@ cricket_007当初私が言いましたようにreplaceAllを利用しましたが、正しく機能していませんでした。これは当時のダクトテープの修正だったので、私の大きな問題を解決するために – dgelinas21