我正在尝试比较两个字符串,但其中一个字符串末尾包含一个空格。我使用了 Trim() 并进行了比较,但没有成功,因为该空白正在转换为 %20,我认为 Trim 不会删除它。它类似于 "abc"
和 "abc%20"
,在这种情况下我可以做什么来比较忽略大小写的字符串?
最佳答案
%20
是空间的 url 编码版本。
您不能使用 Trim()
直接去除它,但您可以使用 HttpUtility.UrlDecode()将 %20
解码回一个空格,然后按照其他方式进行修剪/比较;
using System.Web;
//...
var test1 = "HELLO%20";
var test2 = "hello";
Console.WriteLine(HttpUtility.UrlDecode(test1).Trim().
Equals(HttpUtility.UrlDecode(test2).Trim(),
StringComparison.InvariantCultureIgnoreCase));
> true
关于c# - 在 C# 中进行字符串比较时如何处理 %20,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16934303/