2016-05-10 24 views
1
String str = "a,b","c,d","1,2","5.6"; 

上記の私は二重引用符の中のコンマを削除したいと思います。私の結果はjava ::文字列内の引用符をコンマで区切る

str = "ab","cd","12","5.6". 

です。私は答えを得るために多くを探しました。あなたがJAVAで私を助けることができれば素晴らしいだろう。

+0

は 'String []型' '単一STRING'たりすることになっSTRていますか? – Albert

+2

あなたの文字列の割り当てが間違っていると思います –

+2

貼り付けたコードが間違っています。それはコンパイルされません。 –

答えて

2

私はあなたの文字列配列を使用して、個別にすべての要素を置き換えるべきだと思う:

String[] replaceArray = {"a,b","c,d","1,2","5.6"}; 
for(int i=0; i<replaceArray.length; i++){ 
    replaceArray[i] = replaceArray[i].replaceAll(",",""); 
} 
3

すべてのString strの最初にコンパイルではありません。

"ab","cd","12","5.6" 

溶液の上のあなたは、常に両方の側に1または全く性格を持っていることを前提としています。それはあなたが

System.out.println(str.replaceAll("(\".?),(.?\")", "$1$2")); 

出力が必要な二重引用符で囲む,を交換するために

String str = "\"a,b\",\"c,d\",\"1,2\",\"5.6\""; 

する必要があります二重引用符内に,

よりも複数の文字がある場合も、ここで表現

System.out.println(str.replaceAll("(\"\\w*),(\\w*\")", "$1$2")); 

の下\wを使用して一致させることができるA word character: [a-zA-Z_0-9]

希望に合わせて、事前に定義された文字クラスで、これはおそらく、

1

役立ちます少し醜いですが、2回使用することができますString#replace - 最初のすべてのコンマを削除し、2番目の引用符の間にコンマを再度追加:

String str = "\"a,b\",\"c,d\",\"1,2\",\"5.6\""; 
System.out.println(str.replace(",", "").replace("\"\"", "\",\"")); 

出力:

"ab","cd","12","5.6" 

おそらくより良いが一度に同じ目標を達成するために正規表現を使用することですが、それは本当に正直に言うと、私の専門知識はありません。

0

を実行し、このコード

 String str = "\"a,b\",\"c,d\",\"1,2\",\"5,6\""; 
     str=str.replace("\"",""); 
     String[] parts = str.split(","); 

     String outputString=""; 
     int literalCount=2; 
     String output=""; 
     for (String part : parts) { 
      if(literalCount==0) { 
       outputString=outputString+output+","; 
       output = part; 
       literalCount=2; 
      }else 
      { 
       output+=part; 
      } 
      literalCount--; 

     } 
     outputString="\""+outputString+output+"\""; 
     System.out.println(outputString); 
関連する問題