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

7

261

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"

Toenail answered 1/8, 2010 at 12:8 Comment(0)
I
548

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.)

Intervocalic answered 1/8, 2010 at 12:15 Comment(4)
⁺¹ for the MS definition of whitespace. I met a weird behavior that .TrimEnd() doesn't work (for non-breaking space character), but in the end is just that the character not listed in documentation.Fere
There are numerous ways to trim strings, and quite a few are bench-marked. Still, I like .Trim() as being the quickest to write and easiest to read.Duodenary
Maybe it is usefull to know this: If you have multiply lines like in a TextArea. And you press the enter key, you get something like: " A String \r\n " .Trim() does recognize this as a space too.Chromophore
@NashCarp: That´s because \r and \n are also whitespace charactersMatrimonial
A
25

take a look at Trim() which returns a new string with whitespace removed from the beginning and end of the string it is called on.

Auriol answered 1/8, 2010 at 12:9 Comment(0)
M
22
string a = "   Hello   ";
string trimmed = a.Trim();

trimmed is now "Hello"

Matamoros answered 1/8, 2010 at 12:10 Comment(0)
T
18

use the String.Trim() function.

string foo = "   hello ";
string bar = foo.Trim();

Console.WriteLine(bar); // writes "hello"
Teeming answered 1/8, 2010 at 12:9 Comment(0)
H
13

Use String.Trim method.

Haphazard answered 1/8, 2010 at 12:10 Comment(0)
B
11

String.Trim() removes all whitespace from the beginning and end of a string. To remove whitespace inside a string, or normalize whitespace, use a Regular Expression.

Balmoral answered 1/8, 2010 at 12:10 Comment(0)
E
4

Trim() Removes all leading and trailing white-space characters from the current string. Trim(Char) Removes all leading and trailing instances of a character from the current string. Trim(Char[]) Removes all leading and trailing occurrences of a set of characters specified in an array from the current string.

Look at the following example that I quoted from Microsoft's documentation page.

char[] charsToTrim = { '*', ' ', '\''};
string banner = "*** Much Ado About Nothing ***";
string result = banner.Trim(charsToTrim);
Console.WriteLine("Trimmmed\n   {0}\nto\n   '{1}'", banner, result);

// The example displays the following output:
//       Trimmmed
//          *** Much Ado About Nothing ***
//       to
//          'Much Ado About Nothing'
Empoverish answered 12/12, 2020 at 8:29 Comment(0)

© 2022 - 2024 — McMap. All rights reserved.