we don't support coloring yet so we want the stripped names (which are used for search) to contain only user-visible symbols. So are you saying that a nickname ^^abc actually displays as ^bc in-game?
so the rule is, if I understand you correctly, to remove all ^symbols, doing only one pass (so ^^abc does not end up being c, and ^ab^^cd will be visible as b^d).