2

こんにちは、このような文字列があります

My home is a nice home in Paris but i will go to the home of some one else.

文字列のインデックス 5 からインデックス 25 までの文字 i を文字 Z に正規表現で置き換えたい。

結果は

"My home Zs a nZce home Zn Paris but i will go to the home of some one else."

私を助けてくれませんか?

Java アプリケーションで使用します。正規表現、文字列、開始インデックス、終了インデックスを受け取る Web サービスを作成する必要があり、変更された文字列を返す必要があります。

本当にありがとうございます。

4

4 に答える 4

1

StringBufferを使用する

StringBuffer sb=new StringBuffer(input);
int index=-1;
while((index=sb.indexOf("i"))!=-1)
{
    if(index>=5&&index<=25)sb.setCharAt(index,'Z')
}

この正規表現iを使用して置き換えることができますZ

(?<=^.{4,25})i

だから、あなたのコードは

input.replaceAll(aboveRegex,"Z")
于 2013-06-20T13:01:09.997 に答える
0

この方法で行うことができます(正規表現なし):-

$str= "My home is a nice home in Paris but i will go to the home of some one else";
   for($i=5; $i<25; $i++) 
   if($str[$i]=='i')
         $str[$i] = 'Z';

         echo $str;

出力:-

私の家は、nZce の家、Zn パリですが、私は誰か他の人の家に行きます

于 2013-06-20T12:51:11.400 に答える