前提・実現したいこと
JAVAで文字列の変換を行おうとしています。
以下のような変換を実装中です。
変換前:gold in (0,1,2,10,11)) ) >= 1 )
変換後:gold in (0.0,1.0,2.0,10.0,11.0)) ) >= 1 )
※整数型を小数型に変えるのが目的です。
考えている処理としては、
(1)文字列をカンマ区切りで配列化
(2)配列毎に最初にでてきた数字に".0"を加えて置換
該当のソースコード
JAVA
1import java.util.*; 2 3public class Main { 4 public static void main(String[] args) throws Exception { 5 // Your code here! 6 String COMMA = ","; 7 String strReplaceBefore = "gold in (0,1,2,10,11)) ) >= 1 )"; 8 String strWork = strReplaceBefore; 9 // ,区切りで配列化 10 String[] intStrList = strReplaceBefore.split(COMMA); 11 for (int x = 0; x < intStrList.length; x++) { 12 // String intStr = intStrList[x].replaceAll("[^0-9]", ""); 13 String intStr = intStrList[x].replaceFirst("[^0-9].*", ""); 14 if (!intStr.isEmpty()) { 15 strWork = strWork.replaceFirst(intStr, intStr + ".0"); 16 System.out.println(strWork); 17 } 18 } 19 } 20} 21
実行結果
gold in (0,1.0,2,10,11)) ) >= 1 )
gold in (0,1.0,2.0,10,11)) ) >= 1 )
gold in (0,1.0,2.0,10.0,11)) ) >= 1 )
gold in (0,1.0,2.0,10.0,11.0)) ) >= 1 )
最初の、 0 が 0.0 になってくれません。
どなたか原因わかりませんか。
補足情報(FW/ツールのバージョンなど)
paiza.io にコード貼っていただければそのまま動きます。
回答2件
あなたの回答
tips
プレビュー