以下のようなintの配列の表現である文字列が与えられた場合
String d = "[2,3,4,5]"
文字列の配列に変換するにはどうすればよいですか?
String[] f = convert d to array of String
また、int の配列に変換する方法を教えてください。
int[] f = convert d to array of int
以下のようなintの配列の表現である文字列が与えられた場合
String d = "[2,3,4,5]"
文字列の配列に変換するにはどうすればよいですか?
String[] f = convert d to array of String
また、int の配列に変換する方法を教えてください。
int[] f = convert d to array of int
私の値にはドットを含む文字列が含まれていて、これが見つかったので、他の解決策を探していました。
このコードはあなたのために働くはずです:
"[1,2,3]".tokenize(',[]')*.toInteger()
Eval.me
次のように使用できます。
String[] f = Eval.me( d )*.toString()
または
int[] i = Eval.me( d )
ただし、この文字列が第三者によって入力された場合、厄介なことを行う可能性があり、セキュリティ上の大きなリスクになるので注意してください...それを回避するには、次のような方法で自分で解析する必要があります。
def simplisticParse( String input, Class requiredType ) {
input.dropWhile { it != '[' }
.drop( 1 )
.takeWhile { it != ']' }
.split( ',' )*.asType( requiredType )
}
String[] s = simplisticParse( d, String )
int[] i = simplisticParse( d, Integer )