Обрезать текст по количеству запятых

  • Автор темы Автор темы twisterrr
  • Дата начала Дата начала

twisterrr

Client
Регистрация
25.12.2011
Сообщения
288
Реакции
24
Баллы
18
есть строка со словами и фразами разделенное запятыми, пример - "слово, слово2, слово еще слово, фраза слово, слово фраза, текст, текст еще и слово, слово3"
нужно обрезать по количеству запятых, допустим берем 4, после обработки должно быть так - "слово, слово2, слово еще слово, фраза слово"
как это можно сделать?
 
Сплитом делите по запятым строку, потом обрезаете
 
  • Оценить
Реакции: twisterrr
есть строка со словами и фразами разделенное запятыми, пример - "слово, слово2, слово еще слово, фраза слово, слово фраза, текст, текст еще и слово, слово3"
нужно обрезать по количеству запятых, допустим берем 4, после обработки должно быть так - "слово, слово2, слово еще слово, фраза слово"
как это можно сделать?

Как-то так. Можно и проще, но я всегда все шаги пишу.:
Развернуть Свернуть Копировать
string text = "слово, слово2, слово еще слово, фраза слово, слово фраза, текст, текст еще и слово, слово3";
string[] app = text.Split(new[] {","},StringSplitOptions.None);
List<string> needed = new List<string>();
for(int i=0; i<4; i++) { // Здесь 4 - количество слов которые надо сложить
     needed.Add(app[i]);
}
string result = String.Join(",",needed);
return result;
 
  • Оценить
Реакции: twisterrr
C#:
Развернуть Свернуть Копировать
string len = int.Parse(project.Variables["4"].Value); //переменная с числом для обрезки
string text = "слово, слово2, слово еще слово, фраза слово, слово фраза, текст, текст еще и слово, слово3";
return string.Join(",", text.Split(',').Take(len).ToArray());
 
  • Оценить
Реакции: TwistDanceR и twisterrr
Сплитом делите по запятым строку, потом обрезаете
имеете ввиду кубик - "обработка текста" -> "Split" ? если да то можно по подробней, я так понял с помощью этого действия можно только раскидать строку по разным переменным

отлично работает, спасибо :ay:

string len = int.Parse(project.Variables["4"].Value); //переменная с числом для обрезки string text = "слово, слово2, слово еще слово, фраза слово, слово фраза, текст, текст еще и слово, слово3"; return string.Join(",", text.Split(',').Take(len).ToArray());
чет у меня не сработало, может че то не так написал:
C#:
Развернуть Свернуть Копировать
string len = int.Parse(project.Variables["skolk_dobavit"].Value); //вставил переменную с числом

string text = "слово, слово2, слово еще слово, фраза слово, слово фраза, текст, текст еще и слово, слово3";

return string.Join(",", text.Split(',').Take(len).ToArray());
выдает такую ошибку: "
Компиляция кода Ошибка в действии "CS1928" "string[] не содержит определение для "Take", а перегрузка лучшего метода расширения "System.Linq.Enumerable.Take<TSource>(System.Collections.Generic.IEnumerable<TSource>, int)" содержит несколько недопустимых элементов". [Строка: 2; Cтолбец: 25]
"
 
вроде никаких пробелов в переменной нет - http://prntscr.com/r6yg3e
C#:
Развернуть Свернуть Копировать
int len = int.Parse(project.Variables["skolk_dobavit"].Value); //вставил переменную с числом

string text = "слово, слово2, слово еще слово, фраза слово, слово фраза, текст, текст еще и слово, слово3";

return string.Join(",", text.Split(',').Take(len).ToArray());
ошибка была. так работает
 
  • Оценить
Реакции: twisterrr

Кто просматривает тему: (Всего: 0, Пользователи: 0, Гости: 0)