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