You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

string.Contains处理日期字符串匹配异常问题咨询

问题解析与解答

核心原因很直接:

  • 你的日期字符串是"08/07/2014 07:55:00",Contains("07/2014")返回true,是因为原字符串里确实存在连续的子串"07/2014"(对应原字符串中/07/2014的后半段);
  • Contains("8/07/2014")返回false,是因为原字符串的日期部分开头是"08",而你要找的子串是"8/07/2014"——前者多了一个前导0,两者完全不匹配,自然找不到。

关于转义的疑问:这和转义没有关系,string.Contains()是严格匹配字面量的方法,不需要对/这类普通字符做转义处理。

如果需要实现忽略前导0的匹配需求,可以用两种方式处理:

  1. 先预处理日期字符串,去除前导0:
string dateStr = ObjectsList[0].Date;
// 针对日期部分的前导0处理
if (dateStr.Length > 1 && dateStr[0] == '0')
{
    dateStr = dateStr.Substring(1);
}
bool result = dateStr.Contains("8/07/2014");
  1. 使用正则表达式进行模糊匹配:
using System.Text.RegularExpressions;

bool result = Regex.IsMatch(ObjectsList[0].Date, @"\d+/07/2014");
// 这个正则会匹配任意数字(1位或多位)后跟/07/2014的情况

内容的提问来源于stack exchange,提问作者rwpk9

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.30 13:03:32