c# - 在 C# 中进行字符串比较时如何处理 %20

标签 c# string

我正在尝试比较两个字符串,但其中一个字符串末尾包含一个空格。我使用了 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/

相关文章:

c# - IIS 7 - 确定小数点符号

java - Split 函数返回 <Unmatched opening...> 错误

java - Java 中的字符串添加显示意外行为

C++ fstream : how to know size of string when reading?

c# - 从 Sense 查询转移到 Visual Studio 查询

c# - C# 的多个异常的 XML 文档

c# - 如何将异常显式传递给 C# 中的主线程

c# - 为什么我的操作不返回 View ?

java - 在字符串中查找整数

Java:如何根据输入引用类变量?