Trim. This C# method eliminates leading and trailing whitespace. We need to remove whitespace from the beginning or ending of a string. We use the Trim method to do this efficiently.
Other characters. But Trim() is not limited to just spaces. It removes any characters specified. Its behavior changes when we pass arguments to it.
Example. Here we remove spaces from the beginning and end of a string. When we call Trim on a string, it copies the string and returns a modified version as the copy.
Step 1 We specify an input string, which (like all strings) is immutable. The original is not changed when we call Trim.
Step 2 Trim() can be used with no parameters. In this case it uses a default set of whitespace characters.
Step 3 The Console.WriteLine statement prints the copied string that has no spaces at the beginning or end.
using System;
class Program
{
static void Main()
{
// Step 1: input string.
string value = " a line ";
// Step 2: call Trim instance method.// ... This returns a new string copy.
value = value.Trim();
// Step 3: write to screen.
Console.WriteLine("TRIMMED: [{0}]", value);
}
}TRIMMED: [a line]
Line breaks. We can remove newlines from strings with Trim. The Trim method will remove both UNIX style line breaks and Windows style line breaks.
Detail It uses two Console.WriteLine method calls, each of which format the string they display.
Detail This is surrounded by square brackets. Trim copies the input string, modifies the copy, and then returns a new copy.
using System;
class Program
{
static void Main()
{
// Input string.
string st = "This is an example string.\r\n\r\n";
Console.WriteLine("[{0}]", st);
st = st.Trim();
Console.WriteLine("[{0}]", st);
}
}[This is an example string.
]
[This is an example string.]
Files. We next trim each line from a file. This works well with StreamReader or other File methods. The example here demonstrates Trim on each line in the file.
Note The file, located at path "file.txt" contains three lines, each ending with a space.
Detail The code first uses File.ReadAllLines. Then it loops through the lines using foreach.
Then Each line is trimmed. Because all the lines are in memory, the original file is not changed.
using System;
using System.IO;
class Program
{
static void Main()
{
foreach (string line in File.ReadAllLines("file.txt"))
{
Console.WriteLine("[" + line + "]");
string trimmed = line.Trim();
Console.WriteLine("[" + trimmed + "]");
}
// In the loop we can use both strings.// ... No string is changed: Trim() copies the strings.
}
}[This file ]
[This file]
[Has some ]
[Has some]
[Whitespace you don't want ]
[Whitespace you don't want]
Performance. I tested how Trim performs on different strings. For example, I benchmarked Trim on a string that has characters to be trimmed, against a string that doesn't need changing.
And My results were that Trim takes more time when it has more characters to remove from the source string.
Note Trim() iterates through the characters until no more trimming can be done. No numbers are available in this document.
Methods. There are other ways you will need to change or replace the whitespace in strings. For example, you may need to change whitespace in the middle of strings, not just on the end.
Regex. There are other ways to Trim strings, such as with regular expressions. These approaches are documented elsewhere on this site. They tend to be more complex.
A summary. We saw many examples and tips for the Trim method. We found potential problems with Trim. And we pointed to various alternatives.
Dot Net Perls is a collection of tested code examples. Pages are continually updated to stay current, with code correctness a top priority.
Sam Allen is passionate about computer languages. In the past, his work has been recommended by Apple and Microsoft and he has studied computers at a selective university in the United States.