1

単一の文字のリストではなく、文字列全体で文字列をトリミングするにはどうすればよいですか?

 HTML文字列の最初と最後のすべての空白と空白を削除したいと思います。ただし、メソッドString.Trim()には文字のセットに対してのみオーバーロードがあり、文字列のセットに対してはオーバーロードがありません。

4

4 に答える 4

8

HttpUtility.HtmlDecode(String)結果を次の入力として使用できます。String.Trim()

MSDNのHttpUtility.HtmlDecodeMSDNの
HttpServerUtility.HtmlDecode ( Page.Serverプロパティからアクセスできるラッパー)

string stringWithNonBreakingSpaces;
string trimmedString =  String.Trim(HttpUtility.HtmlDecode(stringWithNonBreakingSpaces));

注:このソリューションは、入力内のすべてのHTML文字列をデコードします。

于 2012-04-17T08:47:42.837 に答える
2

Trimメソッドは、デフォルトですべての先頭と末尾の空白文字を現在の文字列から削除します。

編集:編集後の問題の解決策:

string input = @"  &nbsp; <a href='#'>link</a>  &nbsp; ";
Regex regex = new Regex(@"^(&nbsp;|\s)*|(&nbsp;|\s)*$");
string result = regex.Replace(input, String.Empty);

これにより、末尾と先頭のスペースとがすべて削除されます&nbsp;。式には任意の文字列または文字グループを追加できます。すべてのタブもトリミングすると、正規表現は単純に次のようになります。

Regex regex = new Regex(@"^(&nbsp;|\s|\t)*|(&nbsp;|\s|\t)*$");
于 2012-04-17T08:45:30.367 に答える
1

これがあなたが探しているものであるかどうかわかりませんか?

   string str = "hello &nbsp;";
   str.Replace("&nbsp;", "");
   str.Trim();
于 2012-04-17T08:49:31.790 に答える
1

David Heffernanが言ったように、RegExを使用してください。文字列の先頭にあるすべてのスペースを選択するのはかなり簡単です。 ^(\ |&nbsp;)*

于 2012-04-17T08:56:09.390 に答える