.NET builtin trim lets you specify which 'char' values to trim [1].
.NET is notoriously tied to UTF-16 (a char is 16 bit), and you have to handle surrogate pairs very carefully, but I can't really imagine that being any better with the built-in System.Text.RegularExpressions.Regex
1: https://msdn.microsoft.com/en-us/library/d4tt83f9(v=vs.110)....