Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.67/3: Рейтинг темы: голосов - 3, средняя оценка - 4.67
0 / 0 / 1
Регистрация: 05.12.2018
Сообщений: 41

Исправленные слова отдельным файлом или классом

24.03.2021, 18:18. Показов 640. Ответов 5

Студворк — интернет-сервис помощи студентам
Здравствуйте!

Имеется длинный список заменяемых слов, некая проверка на ошибки:


C#
1
2
3
4
5
6
7
fix = fix.Replace("  ", " ");
.Replace("грам", "грамм");
.Replace("ем", "кушаю");
.Replace("серебрянный", "серебряный");
.Replace("золатой", "золотой");
.Replace("оловяный", "оловянный");
.Replace("деревяный ", "деревянный");
и т.д.

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

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
class FixRus
{
        public string Fixr()
        {
            string fix = fixru; 
            fix = fix.Replace("  ", " ");
            fix = fix.Replace(" ;", ";");
            fix = fix.Replace(" ,", ",");
            fix = fix.Replace(" .", ".");
            fix = fix.Replace(" .;", ".;");
            fix = fix.Replace("гр", "гр.");
          }
}
C#
1
2
3
4
5
6
7
public partial class Form1 : Form
    {
        FixRus fixruss = new FixRus();
        private void fixBTN_Click(object sender, EventArgs e)
        {
 
        }
0
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
24.03.2021, 18:18
Ответы с готовыми решениями:

Header/Footer отдельным файлом или внутри index?
Приветствую Знакомлюсь с вёрсткой на bootstrap и смотрю на ютубе ролик с двухчасовой вёрсткой готового лендинга с нуля на бутстрапе...

Vibrator отдельным классом
Как можно сделать вибрацию в отдельном классе и вызвать его при нажатии на кнопку? Пробовал так public class vibro extends Service ...

Как осуществить вывод Console.WriteLine() отдельным классом
Вот пример программы static void Main(string args) { ListFiltering(); Console.ReadLine(); } ...

5
454 / 278 / 163
Регистрация: 17.04.2019
Сообщений: 1,637
24.03.2021, 18:34
BananaBrick,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
public static class WordReplacer
{
    private readonly static Dictionary<string, string> wordPairs = new Dictionary<string, string>()
    {
        ["грам"] = "грамм",
        ["ем"] = "кушаю",
        ["золатой"] = "золотой",
        ["оловяный"] = "оловянный",
        ["деревяный"] = "деревянный",
        ["серебрянный"] = "серебряный"
    };
    
    public static string GetRightWord(string word)
    {
        if (wordPairs.ContainsKey(word))
            return wordPairs[word];
        
        return String.Empty;
    }
}
0
0 / 0 / 1
Регистрация: 05.12.2018
Сообщений: 41
24.03.2021, 18:52  [ТС]
ProgItEasy, извиняюсь, это отдельным классом?
0
454 / 278 / 163
Регистрация: 17.04.2019
Сообщений: 1,637
24.03.2021, 19:04
BananaBrick, да. Вызвать можно так:
C#
1
string word = WordReplacer.GetRightWord("грам");
0
0 / 0 / 1
Регистрация: 05.12.2018
Сообщений: 41
24.03.2021, 19:09  [ТС]
ProgItEasy, Спасибо Вам большое, но получается мне нужно будет все слова так написать? А я наоборот хочу это избежать, допустим, если будет длинный текст с n-ым количеством разных слов для замены

P.S. хотя даже это получается рассчитано на одно слово
0
3566 / 2507 / 1174
Регистрация: 14.08.2016
Сообщений: 8,219
24.03.2021, 22:32
BananaBrick,
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
            Dictionary<string, string> wordPairs = new Dictionary<string, string>()
            {
                ["грам"] = "грамм",
                ["ем"] = "кушаю",
                ["золатой"] = "золотой",
                ["оловяный"] = "оловянный",
                ["деревяный"] = "деревянный",
                ["серебрянный"] = "серебряный"
            };
            var str = "ем! грам, мама";
            var result = Regex.Replace(str, @"\b\w+\b", (x) => 
            {
                var word = x.Value; 
                return wordPairs.ContainsKey(word) ? wordPairs[word] : word; 
            });
            Console.WriteLine(result);
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
24.03.2021, 22:32
Помогаю со студенческими работами здесь

Как сделать вывод отдельным классом в виде таблицы
using System; using System.Collections.Generic; using System.Text; namespace Lab2b { class Vykonannia { static void...

Как сделать класс по записи отдельным классом от форм?
Код: public partial class Form1 : Form { public Form1() { InitializeComponent(); } private void Form1_Load(object sender,...

Окно вьюпорта OpenGL отдельным классом с прицепом GLEW
Всем привет, Начал писать движок. Разработал хорошую архитектуру, в которой окна вьюпорта OpenGL представлено отдельным классом. В...

Меню отдельным файлом
здравствуйте есть сайт на html и css, на нем много страниц, нужно сделать так чтоб в случае необходимости добавить пункт не приходилось...

Меню отдельным файлом
Здравствуйте! Подскажите пожалуйста, в чем ошибка и почему меню выводится в самом начале страницы, а на месте, где должно быть это меню,...


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

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Новые блоги и статьи
SDL3 для Desktop (MinGW): Создаём пустое окно с нуля для 2D-графики на SDL3, Си и C++
8Observer8 10.03.2026
Содержание блога Финальные проекты на Си и на C++: hello-sdl3-c. zip hello-sdl3-cpp. zip Результат:
Установка CMake и MinGW 13.1 для сборки С и C++ приложений из консоли и из Qt Creator в EXE
8Observer8 10.03.2026
Содержание блога MinGW - это коллекция инструментов для сборки приложений в EXE. CMake - это система сборки приложений. Здесь описаны базовые шаги для старта программирования с помощью CMake и. . .
Как дизайн сайта влияет на конверсию: 7 решений, которые реально повышают заявки
Neotwalker 08.03.2026
Многие до сих пор воспринимают дизайн сайта как “красивую оболочку”. На практике всё иначе: дизайн напрямую влияет на то, оставит человек заявку или уйдёт через несколько секунд. Даже если у вас. . .
Модульная разработка через nuget packages
DevAlt 07.03.2026
Сложившийся в . Net-среде способ разработки чаще всего предполагает монорепозиторий в котором находятся все исходники. При создании нового решения, мы просто добавляем нужные проекты и имеем. . .
Модульный подход на примере F#
DevAlt 06.03.2026
В блоге дяди Боба наткнулся на такое определение: В этой книге («Подход, основанный на вариантах использования») Ивар утверждает, что архитектура программного обеспечения — это структуры,. . .
Управление камерой с помощью скрипта OrbitControls.js на Three.js: Вращение, зум и панорамирование
8Observer8 05.03.2026
Содержание блога Финальная демка в браузере работает на Desktop и мобильных браузерах. Итоговый код: orbit-controls-threejs-js. zip. Сканируйте QR-код на мобильном. Вращайте камеру одним пальцем,. . .
SDL3 для Web (WebAssembly): Синхронизация спрайтов SDL3 и тел Box2D
8Observer8 04.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-sync-physics-sprites-sdl3-c. zip На первой гифке отладочные линии отключены, а на второй включены:. . .
SDL3 для Web (WebAssembly): Идентификация объектов на Box2D v3 - использование userData и событий коллизий
8Observer8 02.03.2026
Содержание блога Финальная демка в браузере. Итоговый код: finish-collision-events-sdl3-c. zip Сканируйте QR-код на мобильном и вы увидите, что появится джойстик для управления главным героем. . . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru