Feed the formula 3 items: TEXT=text to remove all leading and / or trailing string; CHAR = character to remove (for instance, " " for space, "-", for dash, etc).; MODE = one of B,L,T or b,l,t for Both, Leading, Trailing. Error gives SYNTAX!.
=LET(TEXT,$CP13,CHAR," ",MODE,"B",MM,MATCH(UPPER(MODE),{"B","L","T"},0),LL,LEN(TEXT),NL,MATCH(FALSE,CHAR=MID(TEXT,SEQUENCE(LL,,1,1),1),0),NT,MATCH(FALSE,CHAR=MID(TEXT,SEQUENCE(LL,,LL,-1),1),0),MN,IF(OR(ISNA(MM),LEN(CHAR)<>1),1,IF(LL=0,2,IF(OR(LL=1,TEXT=REPT(CHAR,LL)),3,MM+3))),CHOOSE(MN,"SYNTAX!","",IF(TEXT=REPT(CHAR,LL),"",TEXT),MID(TEXT,MATCH(FALSE,CHAR=MID(TEXT,SEQUENCE(LL,,1,1),1),0),2+LL-NL-NT),RIGHT(TEXT,1+LL-NL),LEFT(TEXT,1+LL-NT)))