私は文字列を持っています
String s = "#@#:g#@# hello #@#:(#@# How are You";
#@#:g#@# は絵文字のコードです。同様の次の #@#:(#@# は別のコードです。
現在、私の文字列には #@# で始まり #@# で終わるいくつかのコードがあります。ここで、#@# で始まり #@# で終わるすべての部分文字列を別の文字列 "(emotions)" に置き換える必要があります。
Input String = "#@#:g#@# hello #@#:(#@# How are you";
Output String = "(emotions) hello (emotions) How are You".
私はこのコードを試しました
System.out.println("Original String is = "+s);
if(s.contains("#@#"))
{
//int startIndex = s.substring(beginIndex, endIndex)
int index = s.indexOf("#@#");
while (index >= 0) {
System.out.println("index is == "+index);
arr.add(index);
index = s.indexOf("#@#", index + 1);
}
for(int i = 0 ; i<arr.size() ; i=i+2)
{
int startIndex = arr.get(i);
int secondIndex = arr.get(i+1);
System.out.println("StartIndex is == "+startIndex);
System.out.println("SecondIndex is == "+secondIndex);
String s1 = s.substring(startIndex,secondIndex+3);
System.out.println("String to be replaced is == "+s1.toString());
s.replace(s1, "(emotions)"); //\"(emotions)\"
System.out.println("String == "+s.toString());
}
}
System.out.println("Final String is == "+s.toString());
}
私を助けてください。