Модераторы: Partizan, gambit
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Разбивка строки 
:(
    Опции темы
derek
Дата 5.8.2008, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 16.7.2006

Репутация: нет
Всего: нет



Есть большой string hex-кодов разделенная пробелами (например "0000 0064 FC35 002E 005C"). Необходимо добраться до каждого значения, чтобы потом можно было работать. Слышал краем уха что в С# есть специальные методы для обработки строки (split вроде бы), но делал по старинке
Код

private void WorkWithHexString(string hexcode)
        {
          for (int i = 0; i < hexcode.Length; i++)
            {
                
                string currentword="";
                char probel = ' ';
                if (hexcode[i] != probel)
                {
                    currentword += hexcode[i];
                 }
                else
                {
                    richTextBox1.Text = currentword + " ";
                    currentword = "";
               
                 }
             }
        }


компилируется, но не работает. где я ошибся?

буду благодарен если кто покажет ак реализовать это подобное более простыми для шарпа методами


Это сообщение отредактировал(а) derek - 5.8.2008, 09:03
PM MAIL   Вверх
QryStaL
Дата 5.8.2008, 09:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: 14
Всего: 32



Код

string input = "0000 0064 FC35 002E 005C";
string[] output = input.Split(' ');



--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
derek
Дата 5.8.2008, 09:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 16.7.2006

Репутация: нет
Всего: нет



QryStaL, а из Split можно на выходе только массив получать?
просто для меня это не очень удобно, т.к. я точно не знаю какой длины будет входная строка и сколько там будет элементов. там и все 100 килобайт могут быть. Как с ним потом работать?
PM MAIL   Вверх
QryStaL
Дата 5.8.2008, 09:19 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Intellectual feast
**


Профиль
Группа: Участник
Сообщений: 914
Регистрация: 30.11.2005

Репутация: 14
Всего: 32



Код

foreach (string str in output)
{

}



--------------------
I don't need a reason being who I am...
PM MAIL ICQ   Вверх
derek
Дата 5.8.2008, 09:53 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 16.7.2006

Репутация: нет
Всего: нет



QryStaL, 
 smile  smile  smile 

спасибо большое smile

PM MAIL   Вверх
derek
Дата 6.8.2008, 08:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 124
Регистрация: 16.7.2006

Репутация: нет
Всего: нет



народ а как оптимальнее разбирать строку, если интересует разделение просто по количеству значений. например строка
"ABCDEFGHIJKLMNOPQRSTUVWXYZ"

интересует просто разделять строку по 4 символа.
PM MAIL   Вверх
Partizan
Дата 6.8.2008, 10:08 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



derek, использовать метод Substring


--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
cru3l
Дата 7.8.2008, 08:39 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.8.2008

Репутация: нет
Всего: нет



есть такая строка
"0,100,-907,-49,-99,
0,100,-879,-81,-162,
0,100,-847,-112,-224,
0,100,-811,-142,-285,
0,100,-772,-173,-346,"

количество строк заранее неизвестно. необходимо чтобы в результате получилось 5 массивов, каждый из которого фактически представлял бы "столбец" строки
т.е. первый массив содержал бы пять нулей, третий - [-907,-879,-847,-811,-772] 

я что то не соображу как сделать. помогите разбить строку


PM MAIL   Вверх
Partizan
Дата 7.8.2008, 09:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Let's do some .NET
****


Профиль
Группа: Модератор
Сообщений: 2828
Регистрация: 19.12.2005
Где: Санкт-Петербург

Репутация: 18
Всего: 67



Код

List<string> col1 = new List<string>();
List<string> col2 = new List<string>();
List<string> col3 = new List<string>();
List<string> col4 = new List<string>();
List<string> col5 = new List<string>();

string str;
...чтение строки из файла...

string[] values = string.Split(',');

if (values.Length != 5)
    throw new Exception("Wrong data format");

col1.Add(values[0]);
col2.Add(values[1]);
col3.Add(values[2]);
col4.Add(values[3]);
col5.Add(values[4]);



--------------------
СУВ,
       Partizan.
PM MAIL WWW ICQ Skype GTalk Jabber   Вверх
cru3l
Дата 7.8.2008, 09:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



Профиль
Группа: Участник
Сообщений: 29
Регистрация: 7.8.2008

Репутация: нет
Всего: нет



Partizan, благодарю!
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Общие вопросы по .NET и C# | Следующая тема »


 




[ Время генерации скрипта: 0.0532 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.