2017-06-05 7 views
1

string.TrimEnd()メソッドC#TrimEndがあまりにも多くの文字

var s = "FDLBicester.freshviprint01"; 
var x = s.TrimEnd("freshviprint01".ToCharArray()); 
Console.WriteLine(x); 

を使用すると、わずかに.を含めるようにTrimEndを変え、しかし

FDLBicester.

を作成したときに、私は奇妙な結果を見ているトリミング同様に:

var s = "FDLBicester.freshviprint01"; 
var x = s.TrimEnd(".freshviprint01".ToCharArray()); 
Console.WriteLine(x); 

プロデューサス

FDLBic

????

は、なぜ私はまた.をトリミングすることによってesterを失うのですか?

+2

ここで読む - https://msdn.microsoft.com/en-us/library/system.string.trimend(v=vs備考.110).aspx – pitersmx

+0

@pitersmx – bradbury9

答えて

4

TrimEnd()は、すべて文字が渡されます。

.を渡さないと、.がトリミングする文字のリストにないため、そこでトリミングが停止します。

あなたがを行う

はそれはトリミングする文字のリストでで、.渡す - など他のいくつかの文字があること(すなわち、estr)、したがって、また、取得した前トリミングされた。

+0

で提供されているリンクを確認してください。 '' aaabbbb.b ".TrimEnd(" .b ".ToCharArray())'は 'aaa 'bは' .b'で共通化されているからです。 TrimEndの代わりにサブストリングを使用する必要があります – bradbury9

1

TrimEnd trimmed渡されたトリム配列の一部である末尾のすべての文字をトリムし、文字列の最後の文字が配列の一部でなくなるまでこれを繰り返します。 cester.freshviprint01

var s = "FDLBicester.freshviprint01"; 
var x = s.TrimEnd(".freshviprint01".ToCharArray()); 

文字は、彼らが削除されます理由です、すべてのトリムのアレイの一部です。どの順序でそれらが渡されるかは関係ありません。

var x = s.TrimEnd(".01efihnprstv".ToCharArray()); 

は同じ結果になります。

1

TrimEnd関数は、文字列の末尾のcharを削除します。完全な文字列と一致しません。

代わりにこれを試してみてください:

var s = "FDLBicester.freshviprint01"; 
var t = ".freshviprint01"; 

var x = 
    s.Length > t.Length && s.Substring(s.Length - t.Length) == t 
     ? s.Substring(0, s.Length - t.Length) 
     : s; 

Console.WriteLine(x); 

かをも、この:あなたは

var x = s.TrimEnd(".freshviprint01".ToCharArray()); 

は、あなたが実際にすべて末尾の文字を削除したい置く

var x = s.Split(new [] { t }, StringSplitOptions.None)[0]; 
1

{'.', '0', '1', 'e', 'f', 'h', 'i', 'i', 'n', 'p', 'r', 'r', 's', 't', 'v'}セットは(cがセットにない最初文字です):、icesterのすべての文字があることに気づくセットでを提示してください

"FDLBicester.freshviprint01" -> "FDLBic" 

が出てトリミングされている理由です。あなたは、おそらく、このように、いくつかの接尾辞を切断したい:

var s = "FDLBicester.freshviprint01"; 
    var suffix = ".freshviprint01"; 

    var x = s.EndsWith(suffix) 
    ? s.Substring(0, s.Length - suffix.Length) 
    : s; 
関連する問題