如何在使用String replaceAll时跳过大小写

时间:2017-04-01 11:00:27

标签: java string uppercase

我的字符串示例:

text = " Hi {fullname}, wellcome u join my group"

这是我的代码:

text = text.replaceAll("\\{fullname\\}", user.getMobile() != null ? user.getMobile() : "");

但现在我有问题,如果{fullname}是{FULLNAME}或{Fullname}或{fuLLname},我无法找到我想要的内容并替换它。 有人有解决方案请帮帮我!感谢

3 个答案:

答案 0 :(得分:3)

您可以使用(?i)作为令牌的前缀" fullname"这将使它不区分大小写,因此它适用于你的令牌"全名"的任何大写和小写组合。 "{FULLname} , {fullNAME} , {FulLName} ,{fuLLname}"

text = text.replaceAll("\\{(?i)fullname\\}", user.getMobile() != null ? user.getMobile() : "");

答案 1 :(得分:2)

ReplaceAll采用正则表达式,因此您可以在正则表达式中尝试(?i) ignorecase

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

适用于所有{fullname} , {FULLNAME} , {Fullname} ,{fuLLname}

答案 2 :(得分:-1)

尝试使用此

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

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

    System.out.println(ans);