String.Trim 方法
定義
重要
部分資訊涉及發行前產品,在發行之前可能會有大幅修改。 Microsoft 對此處提供的資訊,不做任何明確或隱含的瑕疵擔保。
傳回新的字串,其中會移除目前字串中一組指定字元的所有前置和尾端專案。
多載
Trim(Char) |
從目前字串中移除字元的所有前置和尾端實例。 |
Trim(ReadOnlySpan<Char>) |
從目前字串移除範圍中指定的一組字元的所有前置和尾端專案。 |
Trim() |
從目前字串中移除所有開頭和尾端空格符。 |
Trim(Char[]) |
從目前字串中移除陣列中指定的一組字元的所有前置和尾端專案。 |
Trim(Char)
從目前字串中移除字元的所有前置和尾端實例。
public:
System::String ^ Trim(char trimChar);
public string Trim (char trimChar);
member this.Trim : char -> string
Public Function Trim (trimChar As Char) As String
參數
- trimChar
- Char
要移除的 Unicode 字元。
傳回
在目前字串的開頭和結尾移除所有 trimChar
字元實例之後所保留的字串。 如果無法從目前的實例修剪任何字元,此方法會傳回未變更的目前實例。
備註
Trim(System.Char)
方法會從目前字串中移除 trimChar
字元的所有前置和尾端實例。 遇到與 trimChar
不同的字元時,每個前置和尾端修剪作業都會停止。 例如,如果 trimChar
是 -
且目前的字串是 “---abc---xyz----”,則 Trim(System.Char)
方法會傳回 “abc---xyz”。 若要移除字串中單字之間的字元,請使用 .NET 正規表示式。
注意
如果 Trim(System.Char)
方法會從目前實例中移除任何字元,這個方法不會修改目前實例的值。 相反地,它會傳回新的字串,其中會移除目前實例中找到的所有前置和尾端 trimChar
字元。
如果目前的字串等於 Empty 或目前實體中的所有字元包含 trimChar
個字元,則方法會傳回 Empty。
適用於
Trim(ReadOnlySpan<Char>)
從目前字串移除範圍中指定的一組字元的所有前置和尾端專案。
public:
System::String ^ Trim(ReadOnlySpan<char> trimChars);
public string Trim (scoped ReadOnlySpan<char> trimChars);
member this.Trim : ReadOnlySpan<char> -> string
Public Function Trim (trimChars As ReadOnlySpan(Of Char)) As String
參數
- trimChars
- ReadOnlySpan<Char>
要移除的 Unicode 字元範圍。
傳回
在 trimChars
參數中所有出現的字元之後,字串會從目前字串的開頭和結尾移除。
如果 trimChars
是空的,則會改為移除空格符。
如果無法從目前的實例修剪任何字元,此方法會傳回未變更的目前實例。
適用於
Trim()
從目前字串中移除所有開頭和尾端空格符。
public:
System::String ^ Trim();
public string Trim ();
member this.Trim : unit -> string
Public Function Trim () As String
傳回
在目前字串的開頭和結尾移除所有空格符之後保留的字串。 如果無法從目前的實例修剪任何字元,此方法會傳回未變更的目前實例。
範例
下列範例會使用 String.Trim() 方法,在串連使用者之前,先從使用者輸入的字串中移除任何額外的空格符。
using namespace System;
void main()
{
Console::Write("Enter your first name: ");
String^ firstName = Console::ReadLine();
Console::Write("Enter your middle name or initial: ");
String^ middleName = Console::ReadLine();
Console::Write("Enter your last name: ");
String^ lastName = Console::ReadLine();
Console::WriteLine();
Console::WriteLine("You entered '{0}', '{1}', and '{2}'.",
firstName, middleName, lastName);
String^ name = ((firstName->Trim() + " " + middleName->Trim())->Trim() + " " +
lastName->Trim())->Trim();
Console::WriteLine("The result is " + name + ".");
}
// The following is possible output from this example:
// Enter your first name: John
// Enter your middle name or initial:
// Enter your last name: Doe
//
// You entered ' John ', '', and ' Doe'.
// The result is John Doe.
using System;
public class Example
{
public static void Main()
{
Console.Write("Enter your first name: ");
string firstName = Console.ReadLine();
Console.Write("Enter your middle name or initial: ");
string middleName = Console.ReadLine();
Console.Write("Enter your last name: ");
string lastName = Console.ReadLine();
Console.WriteLine();
Console.WriteLine("You entered '{0}', '{1}', and '{2}'.",
firstName, middleName, lastName);
string name = ((firstName.Trim() + " " + middleName.Trim()).Trim() + " " +
lastName.Trim()).Trim();
Console.WriteLine("The result is " + name + ".");
// The following is a possible output from this example:
// Enter your first name: John
// Enter your middle name or initial:
// Enter your last name: Doe
//
// You entered ' John ', '', and ' Doe'.
// The result is John Doe.
}
}
printf "Enter your first name: "
let firstName = stdin.ReadLine()
printf "Enter your middle name or initial: "
let middleName = stdin.ReadLine()
printf "Enter your last name: "
let lastName = stdin.ReadLine()
printfn $"\nYou entered '{firstName}', '{middleName}', and '{lastName}'."
let name = ((firstName.Trim() + " " + middleName.Trim()).Trim() + " " + lastName.Trim()).Trim()
printfn $"The result is {name}."
// The following is a possible output from this example:
// Enter your first name: John
// Enter your middle name or initial:
// Enter your last name: Doe
//
// You entered ' John ', '', and ' Doe'.
// The result is John Doe.
Module Example
Public Sub Main()
Console.Write("Enter your first name: ")
Dim firstName As String = Console.ReadLine()
Console.Write("Enter your middle name or initial: ")
Dim middleName As String = Console.ReadLine()
Console.Write("Enter your last name: ")
Dim lastName As String = Console.ReadLine
Console.WriteLine()
Console.WriteLine("You entered '{0}', '{1}', and '{2}'.", _
firstName, middleName, lastName)
Dim name As String = ((firstName.Trim() + " " + middleName.Trim()).Trim() _
+ " " + lastName.Trim()).Trim()
Console.WriteLine("The result is " + name + ".")
End Sub
End Module
' The following is possible output from this example:
' Enter your first name: John
' Enter your middle name or initial:
' Enter your last name: Doe
'
' You entered ' John ', '', and ' Doe'.
' The result is John Doe.
備註
Trim
方法會從目前字串中移除所有開頭和結尾空格符。 遇到非空格符時,每個前置和尾端修剪作業都會停止。 例如,如果目前的字串是 「abc xyz」,則 Trim
方法會傳回 「abc xyz」。 若要移除字串中單字之間的空白,請使用 .NET 正規表示式。
注意
如果 Trim
方法會從目前實例中移除任何字元,這個方法不會修改目前實例的值。 相反地,它會傳回新的字串,其中會移除目前實例中找到的所有前置和尾端空格符。
如果目前的字串等於 Empty,或目前實例中的所有字元都包含空白,則方法會傳回 Empty。
空格符是由 Unicode 標準所定義。
Trim
方法會移除任何前置和尾端字元,這些字元會在傳遞至 Char.IsWhiteSpace 方法時產生傳回值 true
。
給呼叫者的注意事項
.NET Framework 3.5 SP1 和舊版會維護此方法修剪的空格符內部清單。 從 .NET Framework 4 開始,此方法會修剪所有 Unicode 空格符(也就是說,當字元傳遞至 IsWhiteSpace(Char) 方法時,會產生 true
傳回值的字元)。 由於這項變更,.NET Framework 3.5 SP1 和舊版中的 Trim() 方法會移除兩個字元:零寬度空間 (U+200B) 和零寬度 NO-BREAK SPACE (U+FEFF),.NET Framework 4 和更新版本中的 Trim() 方法不會移除。 此外,.NET Framework 3.5 SP1 和舊版中的 Trim() 方法不會修剪三個 Unicode 空格符:蒙古文 VOWEL 分隔符(U+180E)、NARROW NO-BREAK SPACE (U+202F)和中數學空間 (U+205F)。
另請參閱
適用於
Trim(Char[])
從目前字串中移除陣列中指定的一組字元的所有前置和尾端專案。
public:
System::String ^ Trim(... cli::array <char> ^ trimChars);
public string Trim (params char[] trimChars);
public string Trim (params char[]? trimChars);
member this.Trim : char[] -> string
Public Function Trim (ParamArray trimChars As Char()) As String
參數
- trimChars
- Char[]
要移除的 Unicode 字元陣列,或 null
。
傳回
在 trimChars
參數中所有出現的字元之後,字串會從目前字串的開頭和結尾移除。 如果 trimChars
是 null
或空陣列,則會改為移除空格符。 如果無法從目前的實例修剪任何字元,此方法會傳回未變更的目前實例。
範例
下列範例會使用 Trim(System.Char[])
方法,從字串中移除空格、星號 ≦和 apostrophe (') 字元。
using namespace System;
void main()
{
array<Char>^ charsToTrim = { L'*', L' ', L'\\' };
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'
char[] charsToTrim = { '*', ' ', '\''};
string banner = "*** Much Ado About Nothing ***";
string result = banner.Trim(charsToTrim);
Console.WriteLine("Trimmed\n {0}\nto\n '{1}'", banner, result);
// The example displays the following output:
// Trimmed
// *** Much Ado About Nothing ***
// to
// 'Much Ado About Nothing'
let charsToTrim = [| '*'; ' '; '\'' |]
let banner = "*** Much Ado About Nothing ***"
let result = banner.Trim charsToTrim
printfn $"Trimmmed\n {banner}\nto\n '{result}'"
// The example displays the following output:
// Trimmmed
// *** Much Ado About Nothing ***
// to
// 'Much Ado About Nothing'
Module Example
Public Sub Main()
Dim charsToTrim() As Char = { "*"c, " "c, "'"c}
Dim banner As String = "*** Much Ado About Nothing ***"
Dim result As String = banner.Trim(charsToTrim)
Console.WriteLine("Trimmmed{0} {1}{0}to{0} '{2}'", _
vbCrLf, banner, result)
End Sub
End Module
' The example displays the following output:
' Trimmmed
' *** Much Ado About Nothing ***
' to
' 'Much Ado About Nothing'
備註
Trim(System.Char[])
方法會從目前字串中移除 trimChars
參數中的所有前置和尾端字元。 當遇到不在 trimChars
中的字元時,每個前置和尾端修剪作業都會停止。 例如,如果目前的字串是 「123abc456xyz789」,且 trimChars
包含 「1」 到 「9」 的數位,則 Trim(System.Char[])
方法會傳回 “abc456xyz”。
注意
如果 Trim(System.Char[])
方法會從目前實例中移除任何字元,這個方法不會修改目前實例的值。 相反地,它會傳回新的字串,其中會移除目前實例中找到的所有前置和尾端 trimChars
字元。
如果目前的字串等於 Empty,或目前實例中的所有字元是由 trimChars
陣列中的字元所組成,則方法會傳回 Empty。
如果 trimChars
是 null
或空數位,這個方法會移除任何前置或尾端字元,以在方法傳遞至 Char.IsWhiteSpace 方法時傳回 true
。
給呼叫者的注意事項
.NET Framework 3.5 SP1 和舊版會維護一份內部空格符清單,如果 trimChars
是 null
或空陣列,此方法會修剪這個清單。 從 .NET Framework 4 開始,如果 trimChars
是 null
或空陣列,此方法會修剪所有 Unicode 空格符(也就是當字元傳遞至 IsWhiteSpace(Char) 方法時產生 true
傳回值的字元)。 由於這項變更,.NET Framework 3.5 SP1 和舊版中的 Trim() 方法會移除兩個字元:零寬度空間(U+200B)和零 WIDTH NO-BREAK SPACE (U+FEFF),.NET Framework 4 和更新版本中的 Trim() 方法不會移除。 此外,.NET Framework 3.5 SP1 和舊版中的 Trim() 方法不會修剪三個 Unicode 空格符:蒙古文 VOWEL 分隔符(U+180E)、NARROW NO-BREAK SPACE (U+202F)和中數學空間 (U+205F)。