166 / 138 / 23
Регистрация: 02.01.2011
Сообщений: 913
1

Удалить ненужный последний символ в строке

06.08.2012, 10:55. Показов 22746. Ответов 6
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Есть такои код. Нужно, чтобы он возвращал строку без последней запятои, т.е вот такои s= 0,1или такои s=0(в зависимости от выборанных пользователем полей в datagridview) А я то получап в конце строки запятую, то нет. Как починить код? Спасибо!
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
           string s_RCP = "";
            StringBuilder strBuilder = new StringBuilder(s_RCP);
            for (int i = 0; i < dg.Rows.Count; i++)
            {
                bool ch=false;
                if ((dg.Rows[i].Cells[sensorname].Value == null) ||
                    ((bool)dg.Rows[i].Cells[sensorname].Value == false))
                {
                    ch = false;
                }
                else
                {
                    ch = true;
                }
                if (ch == true)
                {
                    strBuilder.Append(i);
                    if ((i != (dg.Rows.Count - 1))) 
                    {
                        strBuilder.Append(",");
                    }
                }
            }
            string s = "" + strBuilder;
            if (s != "")
            {
                string s_end = s.Substring(0, s.Length - 1);
                if (s_end == ",")
                    s = s.Remove(s.Length - 1, 1);
                else
                    s = "" + strBuilder;
            }
 
            MessageBox.Show("Mystring - "+ s);
            return s;
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
06.08.2012, 10:55
Ответы с готовыми решениями:

В заданной строке удалить последний символ пробел, который найдется в строке
Здравствуйте, можете помочь с методом удаления последнего пробела в строке?

Удалить последний символ в строке
Пробовал так: string x = &quot;xxxxx&quot;; int x1 = 0; x1 = x.Length - 1; x = x.Substring(0, x1); Но...

Удалить последний символ в строке
Прошу подсказать. Мне нужно в текстбоксе удалить последний символ. Я делаю так: Dim n As String...

Удалить последний символ в строке
Нужно если последний символ в переменной / удалить его! напирмер $str = 'http://site.ru/'; ...

6
555 / 509 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
06.08.2012, 11:00 2
ко многим операторам вопросы. странненько все это. может, в двух словах объяснишь, что нужно было бы сделать? или оставь весь этот мусорный код (если он правильно работает, хотя что в данном случае считать "правильно"?) и проверь, не является ли последний символ запятой, и если да - верни подстроку на символ короче.
1
166 / 138 / 23
Регистрация: 02.01.2011
Сообщений: 913
06.08.2012, 11:17  [ТС] 3
Закрываю вопрос Спасибо всем прочитавшим
C#
1
2
3
4
5
6
7
8
9
10
11
12
 string s = "" + strBuilder;
            
 
            if (s != "")
            {
                char y = s[s.Length - 1];
                if(y==',')
                {
                    s = s.Substring(0, s.Length - 1);
                }
 
            }
Добавлено через 1 минуту
novi4ok, а какие вопросы? В чем мусорность?
4
555 / 509 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
06.08.2012, 11:32 4
объясни, в чем смысл этих пассажей?

C#
1
(bool)dg.Rows[i].Cells[sensorname].Value == false)
C#
1
2
3
4
5
6
7
8
9
10
11
12
else
                {
                    ch = true;
                }
                if (ch == true)
                {
                    strBuilder.Append(i);
                    if ((i != (dg.Rows.Count - 1))) 
                    {
                        strBuilder.Append(",");
                    }
                }
C#
1
 string s = "" + strBuilder;
0
166 / 138 / 23
Регистрация: 02.01.2011
Сообщений: 913
06.08.2012, 12:05  [ТС] 5
Я работаю с DataGridView со столбцами типа CheckBox. По моему алгоритму нужно позволять или не позволять пользователю нажимать на CheckBok. Когда форма загружается все CheckBox.Value = null, а не false, а потом, когда уже пощелкали Value = false. Вообщем, трюков много
0
555 / 509 / 25
Регистрация: 23.07.2009
Сообщений: 2,359
Записей в блоге: 1
06.08.2012, 12:20 6
пассаж первый: зачем приводить bool к типу bool?
пассаж второй: зачем нужно было вообще вводит переменую ch? почему не написать прямо
C#
1
2
3
4
5
6
if (dg.Rows[i].Cells[sensorname].Value != null && !dg.Rows[i].Cells[sensorname].Value)  {
          strBuilder.Append(i);
          if ((i != dg.Rows.Count - 1)) {
             strBuilder.Append(",");
         }
}
пассаж третий те лучше сам опиши. что здесь делается?:

C#
1
2
3
4
5
6
7
8
9
string s = "" + strBuilder;
            if (s != "")
            {
                string s_end = s.Substring(0, s.Length - 1);
                if (s_end == ",")
                    s = s.Remove(s.Length - 1, 1);
                else
                    s = "" + strBuilder;
            }
1
5 / 5 / 0
Регистрация: 01.12.2017
Сообщений: 36
02.02.2018, 17:01 7
iva_a, Спасибо, помогло!
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.02.2018, 17:01
Помогаю со студенческими работами здесь

В заданной строке удалить последний символ
в заданной строке удалить последний символ.

Удалить последний символ в каждой строке из файлов
Добрый день. Прошу помощи в решении вот такого вопроса. Есть каталог и в нем много файлов,...

Как в строке AnsiString удалить последний символ?
Как в строке AnsiString удалить последний символ? Подскажите, а то я чего-то подзабыл, еще вчера я...

Удалить последний символ в строке вывода данных
Ну вот собственно такой несложный конечно вопрос возник но неполучается почему-то.. Это то что...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
7
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2023, CyberForum.ru