regex issue c# numbers are underscores now
c#, regex
Solution
The problem is your pattern uses a dash in the middle, which acts as a range of the ascii characters from `)` to `=`. Here's a breakdown:
- `)`: 41
- `1`: 49
- `=`: 61
As you can see, numbers start at 49, and falls between the range of 41-61, so they're matched and replaced.
You need to place the `-` at either the beginning or end of the character class for it to be matched literally rather than act as a range:
"[-!@#$%^&*()=+`~{}'|]"
Problem
My Regex is removing all numeric (0-9) in my string. I don't get why all numbers are replaced by _ EDIT: I understand that my "_" regex pattern changes the characters into underscores. But not why numbers! Can anyone help me out? I only need to remove like all special characters. See regex here: ``` string symbolPattern = "[!@#$%^&*()-=+`~{}'|]"; Regex.Replace("input here 12341234" , symbolPattern, "_"); Output: "input here ________" ```