Toggle a string
Java 8, 80 70 65 34 bytes
t->m->m==(m=m.replace(t,""))?m+t:m
Probably my shortest Java 'codegolf' so far.. xD
with some help from the comments.. ;)
Explanation:
Try it online.
t->m-> // Method with two String parameters and String return-type
// (NOTE: Takes the toggle `t` and main `m` in reversed order)
m==(m=m.replace(t,""))? // If `m` equals `m` with all `t`-substrings removed:
// (And set `m` to `m` with all `t`-substrings removed)
m+t // Output this new `m` concatted with `t`
: // Else:
m // Output just this new `m`
MATL, 11 bytes
yyXf?''YX}h
Try it Online!
All test cases
Explanation
% Implicitly grab the main string
% Implicitly grab the toggle string
y % Copy the main string
y % Copy the toggle string
Xf % Check to see if the toggle string is present in the main string
? % If so
''YX % Replace with an empty string
} % else
h % Horizontally concatenate the two strings
% Implicit end of if...else
% Implicitly display the result
Python 3, 38 bytes
lambda s,t:(s+t,s.replace(t,""))[t in s]