Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / взять 3500 первых символов из строки / 8 сообщений из 8, страница 1 из 1
25.09.2018, 14:55
    #39707736
abort
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
взять 3500 первых символов из строки
есть много строк от 1 до 4000 символов.
Нужно взять первые 3500 символов у любой строки
Делаю так
Код: c#
1.
.Substring(0, 3500)


и выдает ошибку на коротких строках

Код: c#
1.
2.
3.
System.ArgumentOutOfRangeException
  HResult=0x80131502
  Message=Index and length must refer to a location within the string.



Есть ли sql server аналог функции LEFT(n)
Вроде простой вопрос, но красивого решения пока нет
...
Рейтинг: 0 / 0
25.09.2018, 14:59
    #39707740
Roman Mejtes
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
взять 3500 первых символов из строки
abort
Код: c#
1.
.Substring(0, 3500)


Код: c#
1.
str.Substring(0, str.Length > 3500 ? 3500 : str.Length)
...
Рейтинг: 0 / 0
25.09.2018, 15:03
    #39707744
Dima T
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
взять 3500 первых символов из строки
Код: c#
1.
2.
3.
4.
5.
6.
7.
string Left(this string str, int len) {
  if(str.Length > len) {
    return str.Substring(0, len);
  } else {
    return str;
  }
}
...
Рейтинг: 0 / 0
25.09.2018, 15:18
    #39707753
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
взять 3500 первых символов из строки
Код: c#
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
		/// <summary>
		/// Left - он и есть Left
		/// </summary>
		public static string Left(this string str, int length)
		{
			return str.Substring(0, Math.Min(length, str.Length));
		}


		/// <summary>
		/// Right - он и есть Right
		/// </summary>
		public static string Right(this string str, int length)
		{
			return str.Substring(str.Length - Math.Min(length, str.Length));
		}



Код: c#
1.
t = t.Left(3500)
...
Рейтинг: 0 / 0
26.09.2018, 06:25
    #39708120
abort
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
взять 3500 первых символов из строки
всем спасибо, разобрался!!!
...
Рейтинг: 0 / 0
27.09.2018, 08:26
    #39708996
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
взять 3500 первых символов из строки
Есть такая функция!

Код: c#
1.
2.
string s = "12345";
s = String.Concat(s.Take(10));
...
Рейтинг: 0 / 0
27.09.2018, 08:32
    #39708999
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
взять 3500 первых символов из строки
ой


PS: впрочем, их тут две
...
Рейтинг: 0 / 0
27.09.2018, 08:54
    #39709004
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
взять 3500 первых символов из строки
Shocker.Proой


PS: впрочем, их тут две
Ничего не знаю. Задача была - взять левые символы из строки. String.Concat тут только для красоты вывода
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / взять 3500 первых символов из строки / 8 сообщений из 8, страница 1 из 1
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]