4

データベースから取得した任意の文字列があります。この文字列を HTML クラス名として Web ページに配置したいと考えています。どのキャラクターが期待できるかわかりません。スペースと特殊文字を削除して、CSS クラス名として「安全」にするにはどうすればよいですか?

いくつかの調査の後、スペースがあり、これらの文字を削除する必要があるようです:

!"#$%&'()*+,./:;<=>?@[\]^`{|}~

それらを削除する最良の方法は何ですか?

4

2 に答える 2

5

このスレッドを参照して、有効な CSS 名をよりよく理解することをお勧めします。

以下のユーティリティ関数をお勧めします。必要に応じて正規表現をテスト/変更する必要があります。

Regex re = new Regex(@"[!""#$%&'()\*\+,\./:;<=>\?@\[\\\]^`{\|}~ ]");
string outputString = re.Replace(inputString, string.Empty); 
于 2012-06-07T19:28:37.713 に答える
0

System.IO.Path.GetInvalidFileNameChars を試して、特殊文字を除外します。

var tagName = "fo@3do@11~1298#bar";
    var invalidChars = System.IO.Path.GetInvalidFileNameChars();
    var cleanTagName = new string(tagName.Where(m => !invalidChars.Contains(m)).ToArray<char>());
于 2012-06-07T19:27:28.550 に答える