我正在使用 Android,我想用另一个字符串替换字符串中某个 {character} 的所有出现。例如,如果我们正在谈论的字符是 'a' 而替换是 "12",那么:
Input : There are {a} months in a year.
Output : There are 12 months in a year.
我不知道如何处理replaceAll
方法和regexes
...
谢谢!
我正在使用 Android,我想用另一个字符串替换字符串中某个 {character} 的所有出现。例如,如果我们正在谈论的字符是 'a' 而替换是 "12",那么:
Input : There are {a} months in a year.
Output : There are 12 months in a year.
我不知道如何处理replaceAll
方法和regexes
...
谢谢!
为此,您可以使用 String.format
int aInt = 12;
String.format("There are {%d} months in a year", aInt );
您可以使用它将字符串中所有出现的 {a}string.replace("{a}", "12")
替换为 12 并且不采用正则表达式。如果您需要搜索模式,请使用replaceAll
由于您在这里不需要使用正则表达式,因此 vishal_aim 的答案更适合这种情况。
第一次尝试replaceAll
是
String str = "There are {a} months in a year.";
str.replaceAll("{a}", "12");
但它不起作用,因为replaceAll
需要一个正则表达式并且{}
是正则表达式中的特殊字符,所以你需要转义它们:
str.replaceAll("\\{a\\}", "12");
String str = "There are {a} months in a year.";
str.replaceAll(Pattern.quote("{a}"), "12");
编辑:
java.util.regex.Pattern.quote(String)方法返回指定字符串的文字模式字符串。