替换字符串中最后出现的字符



我有一个类似的字符串

"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();

如果只想删除las字符(如果有(,这是一个单行方法。我将此用于目录。

localDir = (dir.endsWith("/")) ? dir.substring(0,dir.lastIndexOf("/")) : dir;
String docId = "918e07,454f_id,did";
StringBuffer buffer = new StringBuffer(docId);
docId = buffer.reverse().toString().replaceFirst(",",";");
docId = new StringBuffer(docId).reverse().toString();

相关内容

  • 没有找到相关文章

最新更新