Java String.replaceFirst()采用"从"开始的参数

Sla*_*vko 7 java regex string replace

我需要替换一个字符串中的单词,看起来像"duh duh something else duh".我只需要替换第二个"duh",但第一个和最后一个需要保持不变,因此replace()和replaceFirst()不起作用.有没有像replaceFirst(String regex,String replacement,int offset)这样的方法可以替换从offset开始的第一次替换,或者你可能会推荐其他方法来解决这个问题?谢谢!

Chi*_*chi 10

这样的事情怎么样:

String replaceFirstFrom(String str, int from, String regex, String replacement)
{
    String prefix = str.substring(0, from);
    String rest = str.substring(from);
    rest = rest.replaceFirst(regex, replacement);
    return prefix+rest;
}

// or
s.substring(0,start) +  s.substring(start).replaceFirst(search, replace);
Run Code Online (Sandbox Code Playgroud)

只有一行代码...不是一个完整的方法.