Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
Рейтинг 4.91/11: Рейтинг темы: голосов - 11, средняя оценка - 4.91
0 / 0 / 0
Регистрация: 02.06.2014
Сообщений: 49
1

Поиск комментариев в коде C#

02.06.2014, 12:18. Показов 2076. Ответов 7
Метки нет (Все метки)

Нужно в массиве строк( код C#) найти (большие) комментарии типа
/* Бла бла бла бла
бла бла
бал бла*/
и удалить их
0
Лучшие ответы (1)
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
02.06.2014, 12:18
Ответы с готовыми решениями:

Регулярное выражение: поиск комментариев в коде
Стоит задача вывести в консоль все комментарии с кода ( "//" и "/* */") с помощью регулярного...

Удаление комментариев в коде
Добрый вечер! Может кто знает как быстро из кода VBA удалить все комментарии, а то у меня...

Удаление комментариев в коде
Как записать в коде, чтобы удалял последовательно символы начиная со знака " ' " и до знака абзаца?...

Удаление комментариев в программном коде Си
Удаление комментариев В языке Си комментарии к исходному коду начинаются с двух символов /* и...

7
2141 / 1278 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
02.06.2014, 12:37 2
Semen4enko, ctr + f и пишешь интересующее тебя слово/словосочетание
0
304 / 281 / 102
Регистрация: 06.05.2014
Сообщений: 861
02.06.2014, 12:42 3
Если это всё же строка, то так:
C#
1
str = Regex.Replace(str, @"\/\*[\w\W]*?\*\/", "");
Где, str - твоя строка, в которой имеются комментарии.
0
0 / 0 / 0
Регистрация: 02.06.2014
Сообщений: 49
02.06.2014, 13:22  [ТС] 4
У меня есть массив строк( Код С#) и надо в нём найти комментарии и удалить их, т.е комментарий может начинаться на одной строке а кончатся на другой...Пробовал спросить всё в одну строку и обрабатывать Regex но чтото не вышло
0
2141 / 1278 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
02.06.2014, 13:33 5
Semen4enko, преобразовуете массив в одну строку
пример
C#
1
2
           string[] mass = new string[3] { "first line", "second line", "123443" };
            string result = string.Join("\n", mass);
и в ней ищете
0
0 / 0 / 0
Регистрация: 02.06.2014
Сообщений: 49
02.06.2014, 13:49  [ТС] 6
мне нужно удалить это комментарии а потом назад вернуться в массив но уже без них

Добавлено через 4 минуты
Смотрите вот есть код
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
using System;
namespace ConsoleApplication1
{
    class Program
    {
        static void main(string[] args)
        {
            float a, b;
            a = float.Parse(Console.readLine());//присваивание
            b = float.Parse(console.ReadLine());
            float f1, f2;
            f1 = function(a);
            f2 = function(b);
/*
         это 
         комментарий*/
            if (f1 < f2)
            {
                console.writeLine("в точке а");  // в точке
            } 
            else /* бла бла*/
            {
                Console.writeLine("в точке b");
            }
        } //это метод !! он считает в радианах, нужно будет в углах считать вмест x пиши x*Math.PI/180
        private static float function(float x)
        {
            return (float) math.cos(2 * x) + (float)math.sin(x - 3);
        }
    }
}
Нужно в нём комментарии сохранить в файл и заменить их на номер комментария

Добавлено через 1 минуту
C#
1
// бла бла бла
Эти комментарии сделал, а вот большие немножко не получается Regex-сами
0
2141 / 1278 / 516
Регистрация: 04.03.2014
Сообщений: 4,092
02.06.2014, 13:52 7
Лучший ответ Сообщение было отмечено Semen4enko как решение

Решение

Semen4enko,
C#
1
2
3
4
5
6
            string[] mass = new string[3] { "first lin/*e", "second */line", "123443" };
            string result = string.Join("\n", mass);
            string[] newMass = Regex.Replace(result, @"\/\*[\w\W]*?\*\/", "").Split('\n');
 
            foreach(var line in newMass)
                Console.WriteLine(line);
0
0 / 0 / 0
Регистрация: 02.06.2014
Сообщений: 49
02.06.2014, 14:13  [ТС] 8
Спасибо натолкнули на мысль, всё сделал, я так и думал у меня была ошибка что я сттроку клеил не через Join а напрямую через конкат или +
0
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
02.06.2014, 14:13

Заказываю контрольные, курсовые, дипломные работы и диссертации здесь.

Использование русских комментариев в коде
как сделать так чтобы в Паскале можно было писать русскими буквами???у мя пишет чисто английскими...

Сниппет Emmet для комментариев в коде
Подскажите, как в Emmet получить такое комментирование div&gt;.block1+.block2 &lt;div&gt; &lt;!-- BLOCKS...

Кодировка русских комментариев в коде AVR Stusio 4
Добрый день! Подскажите, пожалуйста, если кто сталкивался с проблемой корректного отображения...

Нужно написать несколько комментариев в простом коде
Я уже попытался написать несколько комментариев, исправьте, если неправильно. /*4.2.6. 5...

Экранирование кавычек в регулярном выражении или сбор комментариев в коде
Написать программу, которая удаляет все комментарии из исходного файла. С помощью гугла и...

Поиск и удаление комментариев из файла
Добрый вечер. Язык С++ изучаю недавно, помогите, пожалуйста, написать программу. Задача программы:...


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

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

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2021, vBulletin Solutions, Inc.