The simple rule I to -I is not guaranteed to work, e.g.
Exp[3 I] /. I -> -I
and ComplexConjugate might be too slow (for lengthy expressions). Therefore, I rather define an alternative function to conjugate
ClearAll[AltConjugate]
AltConjugate[x_] := ReplaceAll[FullSimplify[x], Complex[a_, b_] -> Complex[a, -b]];
This functions looks for the pattern Complex[a_, b_] and replaces it by Complex[a, -b].
@celtschk - roots might be problematic, simple functions like f[x_]=Sqrt[-x^2] can be handle by simplifying the input function, i.e. adding FullSimplify in the definition of AltConjugate. Nevertheless, this will fail for functions including more general roots, such as f[x]=Sqrt[-x^2 +I b] where both x and b are reals.
Use this carefully and always test it.
Cheers.
1 + I /. I -> -I. It gives1+I. The reason is thatIdoes not in fact appear in1+Ianywhere.1+Iis an atomic object with FullFormComplex[1,1]. Note that the problem is not simply that it doesn't containI, but that it's atomic, so1+I /. 1 -> -1also has no effect. – Szabolcs Apr 09 '14 at 22:19