Mail.ruПочтаМой МирОдноклассникиВКонтактеИгрыЗнакомстваНовостиКалендарьОблакоЗаметкиВсе проекты

C# String — Как заменить текст и удалить только то, что до конкретной фразы?

Lip Ton Ученик (80), открыт 6 дней назад
Есть список заголовков на странице, которые вызываются так @ Model.Name

Заголовки такие:
Товар Ложки, артикул 14587
Товар Мешки, артикул 00214
Товар Кукуруза, артикул 7458
Товар Решётка, артикул 99

Должно получиться так:
Артикул 14587
Артикул 00214
Артикул 7458
Артикул 99

Как это сделать?
2 ответа
Jurijus Zaksas Искусственный Интеллект (466656) 6 дней назад
 s = s.Substring(s.IndexOf(',') + 1).Trim(); 
Как сделать первую букву заглавной - догадайся уж сам как-нибудь....
Lip TonУченик (80) 6 дней назад
А если запятых несколько в тексте?

Например:
Товар Ложки, склад МСК, артикул 14587
Товар Мешки, склад СПБ, артикул 00214
Товар Кукуруза, склад ЕКБ, артикул 7458
Товар Решётка, склад НСК, артикул 99
Jurijus Zaksas Искусственный Интеллект (466656) LastIndexOf
Александр Просветленный (21396) 6 дней назад
Более правильно тут будет использовать Split, чем Substring или IndexOf. При такой реализации не важно кол-во запятых, т.к. мы считаем, что нас интересует только последний сегмент.
 static string GetArticlePart(string s)
{
var parts = s.Split(',');
return parts.Length > 1 ? parts[parts.Length - 1].Trim() : s;
}
Ну а если строка будет более сложной в парсинге, то тогда лучше задействовать регулярку.
Похожие вопросы