Подтвердить что ты не робот

Нужно получить строку после "слова" в строке в С#

У меня есть строка в С#, для которой я должен найти конкретное слово "код" в строке и должен получить оставшуюся строку после слова "код".

Строка

"Описание ошибки, код: -1"

поэтому я должен найти слово code в приведенной выше строке, и мне нужно получить код ошибки. Я видел регулярное выражение, но теперь ясно понял. Есть ли простой способ?

4b9b3361

Ответ 1

string toBeSearched = "code : ";
string code = myString.Substring(myString.IndexOf(toBeSearched) + toBeSearched.Length);

Что-то вроде этого?

Возможно, вам нужно обработать случай отсутствия code :...

string toBeSearched = "code : ";
int ix = myString.IndexOf(toBeSearched);

if (ix != -1) 
{
    string code = myString.Substring(ix + toBeSearched.Length);
    // do something here
}

Ответ 2

var code = myString.Split(new [] {"code"}, StringSplitOptions.None)[1];
// code = " : -1"

Вы можете настроить строку для разделения на: если вы используете "code : ", второй член возвращаемого массива ([1]) будет содержать "-1", используя ваш пример.

Ответ 3

Упрощенный способ (если ваше единственное ключевое слово - это "код" ) может быть:

string ErrorCode = yourString.Split(new string[]{"code"}, StringSplitOptions.None).Last();

Ответ 4

использовать indexOf() функцию

string s = "Error description, code : -1";
int index = s.indexOf("code");
if(index != -1)
{
  //DO YOUR LOGIC
  string errorCode = s.Substring(index+4);
}

Ответ 5

добавить этот код в свой проект

  public static class Extension {
        public static string TextAfter(this string value ,string search) {
            return  value.Substring(value.IndexOf(search) + search.Length);
        }
  }

затем используйте

"code : string text ".TextAfter(":")

Ответ 6

string originalSting = "This is my string";
string texttobesearched = "my";
string dataAfterTextTobeSearch= finalCommand.Split(new string[] { texttobesearched     }, StringSplitOptions.None).Last();
if(dataAfterTextobeSearch!=originalSting)
{
    //your action here if data is found
}
else
{
    //action if the data being searched was not found
}

Ответ 7

string founded = FindStringTakeX("UID:   994zxfa6q", "UID:", 9);


string FindStringTakeX(string strValue,string findKey,int take,bool ignoreWhiteSpace = true)
    {
        int index = strValue.IndexOf(findKey) + findKey.Length;

        if (index >= 0)
        {
            if (ignoreWhiteSpace)
            {
                while (strValue[index].ToString() == " ")
                {
                    index++;
                }
            }

            if(strValue.Length >= index + take)
            {
                string result = strValue.Substring(index, take);

                return result;
            }


        }

        return string.Empty;
    }