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}”