C#:字符串操作通配符搜索

发布于 2024-11-27 19:33:47 字数 478 浏览 0 评论 0原文

我正在创建一个搜索应用程序,它从给定的字符串搜索集合 + *

例如,我有这个字符串集合:

史密斯

SMATH

洗澡

SMAG

x

测试

用户输入*TH时,输出应为SMITH、SMATH和BATH

当用户输入SM*TH时,输出应为SMITH和SMATH

当用户输入SM*时 输出应该是 SMITH, SMATH 和 SMAG

您对如何做到这一点有什么建议吗?

I am creating a search application which searches a collection from a given string + *

For example I have this string collection:

SMITH

SMATH

BATH

SMAG

x

Test

When the user input *TH the output should be SMITH, SMATH and BATH

When the user input SM*TH the output should be SMITH and SMATH

When the user input SM* the output should be SMITH, SMATH and SMAG

Do you have any suggestion on how to do this?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

寄意 2024-12-04 19:33:47

查看正则表达式 .NET

如果你只有一个通配符 * 我可能会在第一个实例中将其替换为 .* (0 个或多个字符)或 .+ (1 个或多个字符)

(未经测试,但应该具有所有让你继续前进的元素)

var pattern = "SM*TH"; 
var newpattern = pattern.Replace("*",".+"); 
var rex = new RegEx(newpattern); 
var match = rex.Match("SMITH")

Have a look at regular expressions in .NET

If you only have a wildcard * I'd probably replace this with a .* (0 or more characters) or a .+ (1 or more characters) in the first instance

something like (not tested but should have all the elements to get you going)

var pattern = "SM*TH"; 
var newpattern = pattern.Replace("*",".+"); 
var rex = new RegEx(newpattern); 
var match = rex.Match("SMITH")
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文