Java String.replaceFirst()采用“从...开始"争论 [英] Java String.replaceFirst() that takes a "starting from" argument

查看:76
本文介绍了Java String.replaceFirst()采用“从...开始"争论的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我需要将字符串中的单词替换为"duh duh something duh".我只需要替换第二个"duh",但是第一个和最后一个都需要保持不变,因此replace()和replaceFirst()无效.是否存在诸如replaceFirst(String regex,String replacement,int offset)之类的方法,该方法将从offset开始替换第一次出现的替换,或者您可能会建议其他解决方法?谢谢!

I need to replace a word in a string looking like "duh duh something else duh". I only need to replace the second "duh", but the first and the last ones need to stay untouched, so replace() and replaceFirst() don't work. Is there a method like replaceFirst(String regex, String replacement, int offset) that would replace the first occurrence of replacement starting from offset, or maybe you'd recommend some other way of solving this? Thanks!

推荐答案

类似这样的事情:

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

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

just 1 line of code ... not a whole method.

这篇关于Java String.replaceFirst()采用“从...开始"争论的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆