JAVAのreplaceとreplaceAllの違い



Difference Between Replace



1.replaceパラメーターはcharとCharSequenceであり、文字の置換をサポートし、文字列の置換もサポートします(CharSequenceは文字列シーケンスの意味であり、白です)。
2. replaceAllのパラメーターは、正規表現の置換に基づくregexまたはcharです。たとえば、文字列をすべてreplaceAll( '\ d'、 '*')で入力できます。数字はアスタリスクに置き換えられます。

同じ点は、すべての置換です。つまり、ソース文字列内のすべての文字または文字列が、指定された文字または文字列に置き換えられます。



最初のオカレンスのみを置き換える場合は、replaceFirst()を使用できます。このメソッドも正規表現の置換に基づいていますが、replaceAll()と異なる場合は、最初に出現する文字列のみを置換します。

さらに、replaceAll()およびreplaceFirst()で使用されるパラメーターデータが正規表現に基づいていない場合、文字列をreplace()に置き換える効果は同じです。つまり、どちらも文字列操作をサポートします。



例:

public class ReplaceChar { public static void main(String[] args) { String strTmp = new String('BBBBBBBYYYYYYY') strTmp = strTmp.replaceAll ('\D', 'Y') System.out.println(strTmp) strTmp = strTmp.replaceAll ('Y', 'N') System.out.println(strTmp) strTmp = strTmp.replace('N', 'C') System.out.println(strTmp) strTmp = strTmp.replaceFirst('\D', 'q') System.out.println(strTmp) } }

結果は次のとおりです。

YYYYYYYYYYYYYY
NNNNNNNNNNNNNNN
CCCCCCCCCCCCCC
qCCCCCCCCCCCCC