2014-12-02 49 views
2

我想調整前導空格和單引號使用一個調用Trim而不調用它兩次,如下所示。C#如何修剪空白字符和其他字符

string s = " 'hello'"; 
var newString = s.Trim().Trim('\''); 

我不想使用

var newString = s.TrimStart().Trim(''\'). 

要麼因爲它是兩個呼叫。

+0

_ 「前導空格」 _意味着你要使用['TrimStart'(http://msdn.microsoft。 com/en-us/library/system.string.trimstart(v = vs.110).aspx) – 2014-12-02 17:00:01

+0

這個問題沒有錯。 +1來補償downvote。 – Cyberherbalist 2014-12-02 17:02:01

+0

夠公平的,但我沒有看到對該投票的近距離投票,或對此的評論。我發現這個問題很有價值,因爲在所有這些年來,我從來沒有碰到Trim()有過parms的編碼 - 我從來不需要它。 – Cyberherbalist 2014-12-02 17:07:00

回答

9

使用接受多個字符的overload of Trim

string s = " 'hello'"; 
var newString = s.Trim(' ', '\''); 

雖然有一些注意事項:

  • 你的問題,只提到領先空白,但Trim刪除尾隨字符爲好。如果您只想要前導字符,請改用TrimStart
  • 此解決方案僅刪除全部空格,並非全部爲空格。從技術上講,你將不得不添加所有characters that are considered "whitespace"。如果你需要修剪的不僅僅是空間,那麼兩次調用Trim將會更清潔。
  • 這種解決方案也修剪空白撇號內:

    string s = " ' hello'"; 
    var newString = s.Trim(' ', '\''); // returns "hello" 
    
+0

其實這不起作用,因爲在我的情況下,主角是標籤,也許還有其他空白字符。我需要的東西代表了Trim()的等價物。我想我可以添加所有空白字符? – declouet 2014-12-02 18:05:26

+1

@ user2449323當然(根據我的回答中的鏈接,有25個),或者只是指定標籤或只是調用兩次「修剪」(這將是更清潔的恕我直言,而不是指定25個字符修剪)。 – 2014-12-02 18:48:56