using System.Text.RegularExpressions;
using System.Collections.Generic;
public static void Main()
string Input = "....Thalassius! vero ea--*/-*/-- tempestate+- fectus";
var regex = new Regex(@"[^\w\s]|_");
var matches = regex.Matches(Input) ;
var MatchesIndex = matches .Cast<Match>()
.Select(match => match.Index)
List<int> toDelete = new List<int>();
for (int i = 0; i < MatchesIndex.Length; i++)
if ( MatchesIndex[i] == last + 1)
toDelete.Add(MatchesIndex[i]);
foreach (int i in toDelete.OrderByDescending(x => x))
Output = Output.Remove(i, 1);
Console.WriteLine("Input : " + Input);
Console.WriteLine("Output : " + Output);