0

我正在使用 Android,我想用另一个字符串替换字符串中某个 {character} 的所有出现。例如,如果我们正在谈论的字符是 'a' 而替换是 "12",那么:

Input : There are {a} months in a year.
Output : There are 12 months in a year.

我不知道如何处理replaceAll方法和regexes...

谢谢!

4

4 回答 4

4

为此,您可以使用 String.format

int aInt = 12;
String.format("There are {%d} months in a year",  aInt );
于 2012-12-04T08:17:26.920 回答
1

您可以使用它将字符串中所有出现的 {a}string.replace("{a}", "12")替换为 12 并且不采用正则表达式。如果您需要搜索模式,请使用replaceAll

于 2012-12-04T08:22:19.983 回答
1

由于您在这里不需要使用正则表达式,因此 vishal_aim 的答案更适合这种情况。

第一次尝试replaceAll

String str = "There are {a} months in a year.";
str.replaceAll("{a}", "12");  

但它不起作用,因为replaceAll需要一个正则表达式并且{}是正则表达式中的特殊字符,所以你需要转义它们:

str.replaceAll("\\{a\\}", "12");
于 2012-12-04T08:22:31.730 回答
0
String str = "There are {a} months in a year.";

str.replaceAll(Pattern.quote("{a}"), "12");

编辑

java.util.regex.Pattern.quote(String)方法返回指定字符串的文字模式字符串。

于 2012-12-04T09:11:09.180 回答