How to remove all white space from the beginning or end of a string?

c#, removing-whitespace, string, trim

Solution

`String.Trim()` returns a string which equals the input string with all white-spaces trimmed from start and end:

"   A String   ".Trim() -> "A String"

`String.TrimStart()` returns a string with white-spaces trimmed from the start:

"   A String   ".TrimStart() -> "A String   "

`String.TrimEnd()` returns a string with white-spaces trimmed from the end:

"   A String   ".TrimEnd() -> "   A String"

None of the methods modify the original string object.

(In some implementations at least, if there are no white-spaces to be trimmed, you get back the same string object you started with:

`csharp> string a = "a"; csharp> string trimmed = a.Trim(); csharp> (object) a == (object) trimmed; returns true`

I don't know whether this is guaranteed by the language.)

Problem

How can I remove all white space from the beginning and end of a string? Like so: `"hello"` returns `"hello"` `"hello "` returns `"hello"` `" hello "` returns `"hello"` `" hello world "` returns `"hello world"`

Original source