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

Заменить последнее слово строки

20.05.2019, 08:09. Показов 3048. Ответов 9
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Не нашел в интернете ничего путного...
Суть задания: даётся строка, в ней слова, разделенные точками, то есть, например : mamka.papka.sabaka.da
Я ввожу две строки, первая - основная, вторая - та, на которую надо заменить последнее слово строки номер Ван
Мой код :
String str=Console.ReadLine();
String pr=Console.ReadLine();
String da=str.Substring(0,str.LastIndexOf('.')) ;
Console.WriteLine(da+"."+pr);

Все вроде работает исправно, но медленно, некоторые тесты не проходят, помогите с оптимизацией или переписанием кода, если можно, то без var - пока до этого не дошел. Мб какие то библиотеки там подключать?)
0
Лучшие ответы (1)
Programming
Эксперт
39485 / 9562 / 3019
Регистрация: 12.04.2006
Сообщений: 41,671
Блог
20.05.2019, 08:09
Ответы с готовыми решениями:

Даны строки S, S1 и S2. Заменить в строке S последнее вхождение строки S1 на строку S2.
Помогите пожалуйста отредактировать задачу на языке С #: Даны строки S, S1 и S2. Заменить в строке S последнее вхождение строки S1 на...

Выбрать последнее слово из строки
Доброго времени суток! Пытаюсь "выдрать" последнее слово из строки. Вот что я сделал. Почему-то получается то одно то несколько последних...

Заменить в строке S последнее вхождение строки S1 на строку S2
Даны строки S, S1 и S2. Заменить в строке S последнее вхождение строки S1 на строку S2.

9
Эксперт .NET
 Аватар для Usaga
14303 / 9388 / 1354
Регистрация: 21.01.2016
Сообщений: 35,397
20.05.2019, 08:16
ringer008, тут смотря что на самом деле нужно: действительно заменить часть строки или просто вывести на экран?

Если второе, то WriteLine можно заменить на два вызова Write для вывода da и точки и последний вызов WriteLine для вывода pr. Тогда вы избавитесь от дорогостоящей конкатенации строки.
0
0 / 0 / 0
Регистрация: 24.04.2019
Сообщений: 18
20.05.2019, 08:29  [ТС]
Ля, не помогло

Добавлено через 1 минуту
Кста, мне нужно, чтобы вывелась первая строка, но с замененным последним словом
0
Эксперт .NET
 Аватар для Usaga
14303 / 9388 / 1354
Регистрация: 21.01.2016
Сообщений: 35,397
20.05.2019, 08:30
ringer008, что не помогло?

Цитата Сообщение от ringer008 Посмотреть сообщение
Кста, мне нужно, чтобы вывелась первая строка, но с замененным последним словом
Ну вот. Это значит, что вам в действительности не обязательно по настоящему заменять часть строки.
0
0 / 0 / 0
Регистрация: 24.04.2019
Сообщений: 18
20.05.2019, 08:59  [ТС]
А че мне делать то, подскажи брат?
0
Эксперт .NET
 Аватар для Usaga
14303 / 9388 / 1354
Регистрация: 21.01.2016
Сообщений: 35,397
20.05.2019, 09:47
ringer008, ищи в чём сила, брат.

Ну и не забывай, что нормальный ответ подразумевает нормальное количество детальной информации. "Некоторые тесты не проходят" мне вообще ничего о вашей проблеме не сообщает. Что за тесты? Где полный код? Что именно медленно работает?
1
 Аватар для Kazbek17
1484 / 939 / 454
Регистрация: 06.02.2012
Сообщений: 2,868
20.05.2019, 09:52
ringer008,
C#
1
2
3
4
5
6
 
            string line = "mamka.papka.sabaka.da";
            string [] arr = line.Split('.');
            arr[arr.Length - 1] = "Da";
            Console.WriteLine(string.Join(".", arr));
            Console.ReadKey();
1
Эксперт .NET
 Аватар для Usaga
14303 / 9388 / 1354
Регистрация: 21.01.2016
Сообщений: 35,397
20.05.2019, 10:14
Kazbek17, нет. Это ещё хуже. Вариант ТС-а значительно лучше, ибо он только последнее слово "выкусывает", а ваш всю строку, зачем-то, разбивает на массив строк.
1
Эксперт JS
6496 / 3907 / 2006
Регистрация: 14.06.2018
Сообщений: 6,781
20.05.2019, 10:35
Лучший ответ Сообщение было отмечено ringer008 как решение

Решение

Вообще-то регулярные выражения и предназначены для обработки огромного текста.
Если будут тормозить, тогда задача скорее всего криво поставлена.
C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
using System;
using System.Text.RegularExpressions;
 
namespace Question2456277
{
    class Program
    {
        static void Main(string[] args)
        {
            string str = "mamka.papka.sabaka.da";// Console.ReadLine();
            // Точка должна быть добавлена до перебора всех строк в цикле!
            string pr = "." + "Ван"; // Console.ReadLine(); 
 
            Regex regex = new Regex(@"\.[^.]*$");
 
            string da = regex.Replace(str, pr);
            Console.WriteLine(da);
        }
    }
}
Тут главный смысл по скорости, чтобы все точки должны быть заранее подготовлены, без миллиона добавлений в огромном тексте.
0
0 / 0 / 0
Регистрация: 24.04.2019
Сообщений: 18
21.05.2019, 11:20  [ТС]
Всё, пацаны, всем спасибо, я решил сам
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
inter-admin
Эксперт
29715 / 6470 / 2152
Регистрация: 06.03.2009
Сообщений: 28,500
Блог
21.05.2019, 11:20
Помогаю со студенческими работами здесь

Обрезка строки до заданной длины, оставив последнее слово целым
Здравствуйте. Что то никак не могу придумать: Есть строка: "Добыча титана на планете зависит от уровня титановой шахты. Титан...

написать программу , которая выводит на экран последнее слово строки , вот начала программы, она удаляет все пробелы с конца
помогите написать программу , которая выводит на экран последнее слово строки , вот начала программы, она удаляет все пробелы с конца { ...

Строки: заменить слова, символы и вывести самое длинной слово
1. Дана строка. Заменить в строке, введенной пользователем с клавиатуры: слова, не содержащие заданную букву на «*». 2. Дана строка....

Заменить в первой строке все слова, которые совпадают с первым словом второй строки на слово «hello»
Введите две отдельные строчки, которые состоят минимум из 4 слов. Выполнить следующие задания: 1. Заменить в первой строке все слова,...

Не обрабатывается последнее слово
Подскажите, почему не обрабатывается последнее слово и как исправить. Спасибо using System; using System.Collections.Generic; ...


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

Или воспользуйтесь поиском по форуму:
10
Ответ Создать тему
Новые блоги и статьи
делаю науч статью по влиянию грибов на сукцессию
anaschu 13.03.2026
прикрепляю статью
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 На первой гифке отладочные линии отключены, а на второй включены:. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru