Взять из текста N знаков

Darvel

Client
Регистрация
17.11.2013
Сообщения
103
Благодарностей
4
Баллы
18
Здравствуйте. Помогите кто-нибудь с C#.. Нужно взять из файла(книга там) указанное количество знаков, например 2000, но до точки. Берем первую точку, проверяем, если меньше 2000, берем до следующей и так, пока не бедет более 4000, записываем в переменную. Написал код, который берет определенное количество символов, но получается очень не красиво.. А если до точки, то у меня получается только до первой, а это очень коротко...
Этот код работает, но берет только указанное количество знаков, из переменной брать не хочет. У нас создана переменная str, где лежит книга, но если я создаю переменную rnd и кладу туда рандомное число, а потом вместо 1450 подставляю переменную - не работает блок. И нужно брать до точки, а то выглядит очень криво.
Код:
string str = project.Variables["book"].Value;
string str1 = str.Substring(0, 1450);
string str2 = str.Substring(1450);
project.Variables["text_temp"].Value = str1;
project.Variables["book"].Value = str2;
Пробовал еще так, но чет не так тут)) Я плохо знаю C#. 100% есть ошибка, хз где именно, я перепробовал кучу вариантов и ничего не сработало..
Код:
string str = project.Variables["book"].Value;
int k = {-Variable.rnd-};
int n = {-Variable.rnd-};
string str1 = str.Substring(0, k);
string str2 = str.Substring(k);
do
{
    k = str.IndexOf('.');
   string str1 = str.Substring(0, k);
       string str2 = str.Substring(k);
        int strLen = str.Length;
        k = k+100
    }
while(strLen < k);
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 599
Баллы
113
парси регуляркой
Минимум 2000 знаков
[\w\W]{2000}[^.!?]+[.!?]+
Максимум 2000 знаков
[\w\W]{0,2000}[.!?]+
 
  • Спасибо
Реакции: Darvel

Darvel

Client
Регистрация
17.11.2013
Сообщения
103
Благодарностей
4
Баллы
18
Нужно с удалением брать и остаток в другую переменную. Хотя как вариант может сойти, потом из общего удалить то, что взяли и сохранить..
 

doc

Client
Регистрация
30.03.2012
Сообщения
8 607
Благодарностей
4 599
Баллы
113
Нужно с удалением брать и остаток в другую переменную. Хотя как вариант может сойти, потом из общего удалить то, что взяли и сохранить..
Ну сначала возьми, затем замени по регулярке на пустоту. Только немного регулярки другие
^[\w\W]{2000}[^.!?]+[.!?]+
^[\w\W]{0,2000}[.!?]+
 
  • Спасибо
Реакции: Darvel

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