JAVAのreplaceとreplaceAllの違い

1. replaceのパラメーターはcharとCharSequenceであり、文字の置換と文字列の置換をサポートできます(CharSequenceは文字列シーケンスの意味であり、
平易な用語で文字列です); 2.replaceAllのパラメーターは正規表現またはchar、つまり、正規表現に基づく置換。たとえば、replaceAll( "\\ d"、 "*")を使用して、文字列内のすべての数字をアスタリスクで置き換えることができます。

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

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

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

例えば:

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);
    }
}

結果は次のとおりです。

YYYYYYYYYYYYYYY
NNNNNNNNNNNNNNNN
CCCCCCCCCCCCCCCC
qCCCCCCCCCCCCCCC

 

 

おすすめ

転載: blog.csdn.net/johnt25/article/details/86175268