If your data is in cell B3 put the following formula in C3
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B3,"(",""),")","")," ","")

Note that Excel on MS Windows uses list separator character as specified in Windows Control Panel --> Regional and Language --> Additional Settings --> List Separator. In case in your version of Windows it's set to ; (Semi Colon) instead of , (Comma) the formula would then become.
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(B3;"(";"");")";"");" ";"")
Answer from patkim on Stack ExchangeI want to use substitute with {".","!",";"} etc to remove the common non-alphanumeric characters. I know I can nest a bunch of substitute formulas together, but is there a way to do this by passing an array of symbols into the formula instead?
Substitute Multiple Characters
How can I combine multiple nested Substitute functions in Excel? - Stack Overflow
excel - Can you use SUBSTITUTE for many values without nesting? - Stack Overflow
Using substitute to remove multiple characters at the same time
To simply combine them you can place them all together like this:
=SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(A2,"_AB","_"),"_CD","_"),"_EF","_"),"_40K",""),"_60K",""),"_S_","_"),"_","-")
(note that this may pass the older Excel limit of 7 nested statements. I'm testing in Excel 2010
Another way to do it is by utilizing Left and Right functions.
This assumes that the changing data on the end is always present and is 8 characters long
=SUBSTITUTE(LEFT(A2,LEN(A2)-8),"_","-")
This will achieve the same resulting string
If the string doesn't always end with 8 characters that you want to strip off you can search for the "_S" and get the current location. Try this:
=SUBSTITUTE(LEFT(A2,FIND("_S",A2,1)),"_","-")
No need to use VBA anymore for this! Super simple formula now!
=REDUCE(A1,2:
6,LAMBDA(a,b,SUBSTITUTE(a,b,OFFSET(b,0,1))))
Where A1 is the target cell to replace text b2:b6 is where the keywords are stored (texts to be replaced) c2:c6 (referenced by the offset) is where the replacing texts are stored
Credit: Chandoo
Update 27-4-'22:
Since LAMBDA() and it's helper functions have now been released to the production versions of ms365, one could use REDUCE():
=TRIM(REDUCE(A1,{"Target","Walmart","CVS"},LAMBDA(a,b,SUBSTITUTE(a,b,""))))
Or, even try:
=TEXTJOIN(" ",,TEXTSPLIT(A1,{" ","Target","Walmart","CVS"}))
But, be aware of possible false positives, however SUBSTITUTE() and TEXTSPLIT() are both case-sensitive so for these proper words it seemed to work out fine. To counter false positives, 1st change spaces to tripple spaces for example and go from there (or use the old answer which is still valid). Another option is to nest FILTER():
=TEXTJOIN(" ",,REDUCE(TEXTSPLIT(A1," ",,1),{"Target","Walmart","CVS"},LAMBDA(a,b,FILTER(a,a<>b))))
Old Answer (Still valid since it avoids false positives):
I guess I'd go with a "Yes it's possible, but..." answer. It may be a stretch but I noticed you haven't used any punctuation which lead me to believe we can split a string on the space and filter out the unwanted parts that way, piecing back together the wanted parts:

Formula in A2:
=TEXTJOIN(" ",,FILTERXML("<t><s>"&SUBSTITUTE(A1," ","</s><s>")&"</s></t>","//s["&TEXTJOIN(" and ",,".!= '"&B1:B3&"'")&"]"))
Now you can add as many values to your range of unwanted strings without further adaptation to your formula.
- Note that this does require Excel 2019 or later for the
TEXTJOIN()to work. With Excel 2019 you'd also need to confirm through CtrlShiftEnter. - Also note that this will need some adaptation the minute you start using punctuation.
- A last remark is that
FILTERXML()is case-sensitive.
There is no way with SUBSTITUTE outside of nesting to do what is wanted. In the future LAMBDA will be an option.
For now and for backwards compatibility, here is a UDF that creates a function that takes many inputs and replaces them with the desired output.
It uses a param array so one can also create individual replacements:
Function SUBALL(str As String, ParamArray arr() As Variant) As String
Dim i As Long
For i = LBound(arr) To UBound(arr) Step 2
Dim rngarr As Variant
rngarr = arr(i)
If UBound(arr) > i Then
Dim rpArr As Variant
rpArr = arr(i + 1)
Else
Dim df As Boolean
df = True
End If
If TypeName(rngarr) = "String" Then
If df Then
str = Replace(str, rngarr, "")
Else
str = Replace(str, rngarr, rpArr)
End If
Else
Dim j As Long
For j = LBound(rngarr, 1) To UBound(rngarr, 1)
If df Then
str = Replace(str, rngarr(j, 1), "")
Else
str = Replace(str, rngarr(j, 1), rpArr(j, 1))
End If
Next j
End If
Next i
SUBALL = str
End Function
It defaults to a replace of ""
So in this instance:
=SUBALL(A1,H1:H3)

But we can also do where we specify the output:
=SUBALL(A1,H1:H3,I1:I3)

Or we can put the options as strings in the formula itself with their desired replacements:
=SUBALL(A1,"Target","MyVal","Walmart","","CVS","Long Receipt Place")

As with all UDF, there are some rules that must be followed. The pairs must have the same number of arguments. You CANNOT do:
=SUBALL(A1,H1:H3,"Word")
It will fail. But:
=SUBALL(A1,H1:H3,{"Word";"Word";"Word"})
Will work.

With SCAN and LAMBDA:
=LET(rpl,H1:H3,str,A1,INDEX(SCAN(str,rpl,LAMBDA(a,b,SUBSTITUTE(a,b,""))),COUNTA(rpl)))

If we want to replace words with other words we can use:
=LET(orig,H1:H3,rpl,I1:I3,str,A1,cnt,COUNTA(rpl),INDEX(SCAN(str,SEQUENCE(cnt),LAMBDA(a,b,SUBSTITUTE(a,INDEX(orig,b),INDEX(rpl,b)))),COUNTA(rpl)))

This works for me:
=SUBSTITUTE(SUBSTITUTE(yourcell; CHAR(x1); CHAR(x2)); CHAR(y); CHAR(y1))
2 substitutions
=SUBSTITUTE(SUBSTITUTE((yourcell; CHAR(x1); CHAR(x2)); CHAR(y); CHAR(y1)); CHAR(z1); CHAR(z2))
3 substitutions
In your example, for replacing ç with c , and û with u
=SUBSTITUTE(SUBSTITUTE(yourcell; CHAR(231); CHAR(99)); CHAR(251); CHAR(117))
To find the code of any letter, simply use UNICODE function, for example:
=UNICODE("ç")
returns 231.
If you want to remove punctuation using substitute use this syntax (let's replace dots with nothing):
=SUBSTITUTE(yourcell; CHAR(46); "")
It's also possible to use nested SUBSTITUTE() functions to preserve a character in some instances but change it in others:
In cell A1 I have:
Comedy, Music, Bonus Features
In cell B1 I want:
comedy music bonus.features
One formula to achieve this is:
=LOWER(SUBSTITUTE(SUBSTITUTE(SUBSTITUTE(TRIM(A1); ", "; "|"); " "; "."); "|"; " "))
The first substitution replaces a comma and space (", ") with a character not likely to be found in cell A1: "|".
The second substitution replaces all spaces with periods.
The third substitution replaces all | characters with spaces.
The order is important so that wanted spaces aren't replaced with periods.
The TRIM() function ensures that no trailing spaces in A1 are converted to periods.
Another way to achieve this with fewer steps is to use this formula:
=LOWER(SUBSTITUTE(SUBSTITUTE(TRIM(A1); " "; "."); ",."; " "))
In this case, the first substitution replaces all the spaces with periods, which results in:
comedy,.music,.bonus.features
The second substitution replaces all instances of ",." with a space to get the desired result:
comedy music bonus.features