#c# #asp.net #string #text
#c# #asp.net #строка #текст
Вопрос:
У меня есть текст под названием
string path = "Default/abc/cde/css/";
Я хочу сравнить текст.
string compare = "abc";
Я хочу результат
string result = "Default/abc";
Остальная часть пути /cde/css
бесполезна.Возможно ли получить желаемый результат в asp.net c#. Спасибо.
Ответ №1:
Это то, что вы ищете?:
string result = path.Substring(0, path.IndexOf(compare) compare.Length);
Ответ №2:
Попробуйте это. Это будет проходить через разные уровни (при условии, что это уровни каталогов), пока он не будет соответствовать 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);
}
Ответ №3:
string path = "Default/abc/cde/css/";
string answer = "";
string compare = "abc";
if (path.Contains(compare ))
{
answer = path.Substring(0, path.IndexOf(stringToMatch) compare.Length);
}
Должно сработать что-то вроде описанного выше.
Ответ №4:
Я полагаю, что если вы столкнетесь с подобными вопросами в будущем, вам следует сначала попробовать это самостоятельно.
string result = path.Contains(compare) ? path.Substring(0, (path.IndexOf(compare) compare.Length)) : path;