私は電子メールマスキングの方法を持っています。私は@
の前に電子メールの文字を星と置き換える必要があります。しかし問題は、常に正確に5つの星があり、最初と最後の要素が隠されるべきではないということです。 サンプル入力は[email protected]
となります。出力:s*****[email protected]
したがって、電子メールの最初と最後の文字の間には何文字かは関係ありません。ここに私のコードです:ReplaceAllと定義済みの交換番号Java
public static String maskEmail(String inputEmail){
return inputEmail.replaceAll("(?<=.).(?=[^@]*[email protected])", "*");
}
私の方法はこの電子メールをマスクしますが、私は5つ星を正確に配置する方法がわかりません。
ちょうど5個のアスタリスクと@
前の文字から始まる部分文字列でそれを最初の文字を取ると連結するはるかに簡単になり
、ありがとう! – Cassie
正規表現ベースのソリューションより読みやすく、効率的です。 +1 – ApproachingDarknessFish