Java 如何在使用字符串replaceAll时跳过大小写

Java 如何在使用字符串replaceAll时跳过大小写,java,string,uppercase,Java,String,Uppercase,示例我的字符串有: text = " Hi {fullname}, wellcome u join my group" 这是我的代码: text = text.replaceAll("\\{fullname\\}", user.getMobile() != null ? user.getMobile() : ""); 但现在我有问题,如果{fullname}是{fullname}或{fullname}或{fullname},我无法准确地找到我想要的并替换它。 任何人都有解决办法,请帮助我!谢

示例我的字符串有:

text = " Hi {fullname}, wellcome u join my group"
这是我的代码:

text = text.replaceAll("\\{fullname\\}", user.getMobile() != null ? user.getMobile() : "");
但现在我有问题,如果{fullname}是{fullname}或{fullname}或{fullname},我无法准确地找到我想要的并替换它。
任何人都有解决办法,请帮助我!谢谢

ReplaceAll接受正则表达式,所以您可以尝试在正则表达式中使用
(?i)
ignorecase

text = text.replaceAll("\\{(?i)fullname\\}", us...

这适用于所有的
{fullname}、{fullname}、{fullname}、{fullname}
ReplaceAll都采用正则表达式,因此您可以在正则表达式中尝试
(?i)
ignorecase

text = text.replaceAll("\\{(?i)fullname\\}", us...
text = text.replaceAll("\\{(?i)fullname\\}", user.getMobile() != null ? user.getMobile() : "");
这适用于所有
{fullname}、{fullname}、{fullname}、{fullname}

尝试使用此

    String ans="Hi {fullname}, wellcome u join my group";

    ans = ans.replaceAll("\\{[a-zA-Z]*\\}", "ANYTHING");

    System.out.println(ans);
text = text.replaceAll("\\{(?i)fullname\\}", user.getMobile() != null ? user.getMobile() : "");
试试这个

    String ans="Hi {fullname}, wellcome u join my group";

    ans = ans.replaceAll("\\{[a-zA-Z]*\\}", "ANYTHING");

    System.out.println(ans);
您可以使用(?i)作为令牌“fullname”的前缀,这将使其不区分大小写,因此它适用于令牌“fullname”的任何大小写组合
“{FULLname},{FULLname},{FULLname},{FULLname}”

您可以使用(?i)作为令牌“fullname”的前缀,这将使其不区分大小写,因此它适用于令牌“fullname”的任何大小写组合
“{FULLname},{FULLname},{FULLname},{FULLname}”