当匹配时抓取一部分文本,去掉其余部分,因为它';It’没用

本文关键字:因为 没用 It 余部 抓取 一部分 文本 | 更新日期: 2023-09-27 18:11:49

我有一个名为的文本

string path = "Default/abc/cde/css/";

我想比较一段文字

string compare = "abc";

我想要一个结果

string result = "Default/abc";

路径/cde/css的其余部分是无用的。有没有可能在asp.net c#中获取期望的结果。谢谢

当匹配时抓取一部分文本,去掉其余部分,因为它';It’没用

这就是您想要的吗?:

string result = path.Substring(0, path.IndexOf(compare)+compare.Length);

试试这个。这将循环通过不同的级别(假设这些级别是目录级别(,直到它匹配compare,然后退出循环。这意味着,如果有一个名为abcd的文件夹,这不会结束循环。

string path = "Default/abc/cde/css";
string compare = "abc";
string result = string.Empty;
foreach (string lvl in path.Split("/")) {
    result += lvl + "/";
    if (lvl == compare)
    {
        break;
    }
}
if (result.Length>0)
{
   result = result.substring(0, result.length-1);
}
string path = "Default/abc/cde/css/";
string answer = "";
string compare = "abc";
if (path.Contains(compare ))
{
     answer = path.Substring(0, path.IndexOf(stringToMatch) + compare.Length);
}

像上面这样的东西应该有效。

我建议,如果你将来遇到这种问题,你应该先自己尝试一下。

string result = path.Contains(compare) ? path.Substring(0, (path.IndexOf(compare) + compare.Length)) : path;
相关文章: