• ベストアンサー

javaで substrと置換処理

perlで以下の処理をJavaに置き換えたいのですが、javaがよくわかっていません。 my $moto = "abcdefg"; my $pos = 2; my $size = 1; my $rep = "Z"; $ret = substr($moto, $pos, $size, $rep); # $ret = "c"; # $moto = "abZdefg"; となりますが、javaではどのように書くのでしょうか? javaにがsubstringはあるみたいですが、substrがないみたいです。 しかも、perlでの第4引数は置換までできます。

質問者が選んだベストアンサー

  • ベストアンサー
  • ssr-y6
  • ベストアンサー率71% (5/7)
回答No.2

 同じような機能の関数をつくるとすると、以下のようになります。 class substr { public static String SubStr(String[] source, int start, int size, String replace) { String Str1 = source[0].substring(start, start + size); source[0] = new String(source[0].substring(0, start) + replace + source[0].substring(start + size)); return(new String(Str1)); }; public static void main(String args[]) { String[] moto = new String[1]; moto[0] = new String("abcdefg"); int pos = 2; int size = 1; String rep = new String("Z"); String ret = SubStr(moto, pos, size, rep); System.out.println("ret=" + ret); System.out.println("moto=" + moto[0]); }; }  javaでは、引数の内容を呼び出された関数の中で変更して返すことはできないので、 第一引数(moto)は配列として定義し、それを渡しています。

すると、全ての回答が全文表示されます。

その他の回答 (1)

  • koko_u_
  • ベストアンサー率18% (459/2509)
回答No.1

StringBuffer#replace とかが近いか?

すると、全ての回答が全文表示されます。

関連するQ&A