首页 > 解决方案 > 这是一种搜索子字符串并忽略特定单元格的方法吗?C#

问题描述

我需要搜索一个字符串,例如,它看起来像这样:113312312,在一个看起来像11211201222110.

意思是在原文中寻找子串。请注意,3子字符串中出现的位置可以是原始字符串中的任何内容。

原来的 :111222121212

场景 1:func(131222121212) 返回 true
场景 2:func(333222) 返回 true
场景 3:func(3333333333) 返回 true
场景 4:func(333333333333) 返回 true
场景 5:func(233333333333) 返回 false

标签: c#string

解决方案


public bool match(string original, string pattern)
{
    if (string.IsNullOrEmpty(original)) return false;
    if (string.IsNullOrEmpty(pattern)) return false;
    if (pattern.Length > original.Length) return false;

    pattern = "^" + pattern.Replace("3", @"\d");
    return System.Text.RegularExpressions.Regex.IsMatch(original, pattern);
}

看看它的工作:

https://dotnetfiddle.net/LYbdrj


推荐阅读