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)メソッドは、指定された String のリテラル パターン String を返します。

于 2012-12-04T09:11:09.180 に答える