文字列からすべての空白を削除する効率的な方法は?質問する

文字列からすべての空白を削除する効率的な方法は?質問する

REST API を呼び出し、XML 応答が返されます。ワークスペース名のリストが返されるので、簡単IsExistingWorkspace()なメソッドを作成しています。すべてのワークスペースは空白のない連続した文字で構成されているため、特定のワークスペースがリストに含まれているかどうかを確認する最も簡単な方法は、すべての空白 (改行を含む) を削除して、次の操作を実行することだと思います (XML は Web 要求から受信した文字列です)。

XML.Contains("<name>" + workspaceName + "</name>");

大文字と小文字が区別されることはわかっていますし、それに依存しています。文字列内のすべての空白を効率的に削除する方法が必要です。RegEx と LINQ でそれができることはわかっていますが、他のアイデアも検討します。私が主に懸念しているのは速度です。

ベストアンサー1

正規表現を使用したくないとおっしゃっていましたが、これが私が知る限り最速の方法です。

Regex.Replace(XML, @"\s+", "");

コメントで @hypehuman に感謝しつつ、これを複数回行う予定の場合は、Regex インスタンスを作成して保存してください。これにより、毎回インスタンスを構築するオーバーヘッドが節約されます。これは、想像以上にコストがかかります。

private static readonly Regex sWhitespace = new Regex(@"\s+");
public static string ReplaceWhitespace(string input, string replacement) 
{
    return sWhitespace.Replace(input, replacement);
}

おすすめ記事