私はこのような文字列を持っています
"Position, fix, dial"
最後の二重引用符 (") をエスケープ二重引用符 (\") に置き換えたい
文字列の結果は
"Position, fix, dial\"
これどうやってするの。最初に見つかった文字列を置き換えることを認識しています。しかし、文字列の最後の出現を置き換える方法がわかりません
私はこのような文字列を持っています
"Position, fix, dial"
最後の二重引用符 (") をエスケープ二重引用符 (\") に置き換えたい
文字列の結果は
"Position, fix, dial\"
これどうやってするの。最初に見つかった文字列を置き換えることを認識しています。しかし、文字列の最後の出現を置き換える方法がわかりません
これはうまくいくはずです:
String replaceLast(String string, String substring, String replacement)
{
int index = string.lastIndexOf(substring);
if (index == -1)
return string;
return string.substring(0, index) + replacement
+ string.substring(index+substring.length());
}
これ:
System.out.println(replaceLast("\"Position, fix, dial\"", "\"", "\\\""));
版画:
"Position, fix, dial\"
テスト。
String str = "\"Position, fix, dial\"";
int ind = str.lastIndexOf("\"");
if( ind>=0 )
str = new StringBuilder(str).replace(ind, ind+1,"\\\"").toString();
System.out.println(str);
アップデート
if( ind>=0 )
str = new StringBuilder(str.length()+1)
.append(str, 0, ind)
.append('\\')
.append(str, ind, str.length())
.toString();