Извлечь последнюю часть (раздел) строки

Мне нужно извлечь только последнюю часть строки после символа /.

Я пробовал с LastIndexOf, но не получается.

Любое решение?


Пытаться

var strDiv2 = tbxAff.Substring(tbxAff.IndexOf(" / "), /*value is missing*/ );
dblDiv2 = Convert.ToDouble(strDiv2);`
        

person DanyDC    schedule 12.12.2015    source источник
comment
Добро пожаловать в Stackoverflow! Пожалуйста, отредактируйте свой вопрос и вставьте сюда код С#. Однако этот stackoverflow .com/questions/15667927/ поможет вам.   -  person Ravimallya    schedule 12.12.2015
comment
Разместите свой код в виде текста, не изображения. Это значительно повысит ваши шансы на получение ответа. Кроме того, вы можете получить текст из TextBox, поэтому ваш вопрос действительно Извлечь последнюю часть строки   -  person Wai Ha Lee    schedule 12.12.2015
comment
Ваша проблема не имеет ничего общего с текстовыми полями. Получите строку из коробки и используйте строковые функции для управления ею. Вы пробовали string.Split?   -  person anhoppe    schedule 12.12.2015
comment
LastIndexOf - это то, что вам нужно, покажите нам свою попытку с LastIndexOf   -  person CSharpie    schedule 12.12.2015
comment
Какое сообщение об ошибке вы получаете?   -  person Peter Smith    schedule 12.12.2015


Ответы (4)


Используйте функцию String.Split():

string[] y = tbxAff.Text.Split(new string[] { " / " }, StringSplitOptions.RemoveEmptyEntries);

Затем используйте его следующим образом:

string strDiv2 = y[1] // Second Part
dblDiv2 = Convert.ToDouble(strDiv2);
person Fᴀʀʜᴀɴ Aɴᴀᴍ    schedule 12.12.2015

Вы можете просто опустить второй параметр. Это вызовет перегрузку Substring(int), который возвращает подстроку, которая начинается с указанной позиции символа и продолжается до конца строки.

string strDiv2 = tbxAff.Text.Substring(tbxAff.Text.IndexOf("/") + 1);

Кроме того, если вы анализируете извлеченную подстроку как двойную, вы, вероятно, захотите исключить символ-разделитель /.

person Douglas    schedule 12.12.2015

строка clientSpnd = textBox1.Text.Substring(textBox1.Text.LastIndexOf(' ') + 1);

person Jehoshaphat M.    schedule 12.10.2017

Вот метод расширения, который будет выполнять проверку безопасности:

public static class StringExtensions
{
     public static string LastPartOfStringFrom(this string str, char delimiter )
     {
         if (string.IsNullOrWhiteSpace(str)) return string.Empty;

         var index = str.LastIndexOf(delimiter);

         return (index == -1) ? str : str.Substring(index + 1);
     }
}
person ΩmegaMan    schedule 10.03.2021