0 / 0 / 0
Регистрация: 22.10.2012
Сообщений: 18
1

Заменить в каждом предложении все вхождения заданного слова на заданное новое слово

15.04.2015, 19:19. Показов 1400. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Добрый день! Помогите решить:
Дан текст. Заменить в каждом предложении все вхождения заданного слова на заданное новое слово.
Есть прога которая считает одинаковые символы:
Lisp
1
2
3
4
5
6
(defun num-substr
   (a s &optional (m (length a)) (z 0) &aux (n (search a s)))
      (if n (num-substr a (subseq s (+ n m)) m (1+ z)) z)) 
 
CL-USER 1 > (num-substr "a" "banana")
3
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
15.04.2015, 19:19
Ответы с готовыми решениями:

Заменить в тексте все вхождения заданного слова на другое заданное слово
ввести текст из файла. Заменить в тексте все вхождения заданного слова на другое заданное слово....

Дана строка, содержащая текст на русском языке. Заменить все вхождения заданного слова на другое слово.
Дана строка, содержащая текст на русском языке. Заменить все вхождения заданного слова на другое...

Заменить слова в предложении, которые начинаются с того же символа что и заданное слово
Помогите, пожалуйста с задачей (очень надо) Дано предложение и слово. Заменить слова в...

Заменить в тексте все вхождения слова W на слово U
и 2-ая задача) буду благодарен Задание2 Задача. Текст хранится во входном файле input.txt. Новый...

5
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
15.04.2015, 19:39 2
Asuser, программа, которыю Вы (?) написали выполняет другую задачу. Какой алгоритм решения Вы себе видите? В чем проблемы с его реализацией?
1
4687 / 4383 / 379
Регистрация: 12.05.2012
Сообщений: 3,089
15.04.2015, 19:58 3
Asuser, num-substr определяет количество вхождений заданной строки.

Добавлено через 3 минуты
количество вхождений
2
Модератор
Эксперт функциональных языков программированияЭксперт Python
35564 / 19463 / 4072
Регистрация: 12.02.2012
Сообщений: 32,497
Записей в блоге: 13
18.04.2015, 22:10 4
HomeLisp:

Lisp
1
2
3
4
5
6
7
8
(defun task (sent wf wt)
  (strRep sent wf wt))
 
==> task
 
(task "Вышел котик на тропинку" "котик" "пёсик")
 
==> "Вышел пёсик на тропинку"
Это не очень корректно, т.к. заменяемое слово может быть частью другого. Лучше поступить так:

Lisp
1
2
3
4
5
6
7
8
9
10
11
12
(defun task (sent wf wt)
  (let ((w (strWords sent))
        (r ""))
   (iter (for i in w)
     (setq r (strCat r (if (eq i wf) wt i) " ")))
   (strRTrim r))) 
 
==> task
 
(task "Вышел котик на тропинку" "котик" "пёсик")
 
==> "Вышел пёсик на тропинку"
2
1978 / 1082 / 87
Регистрация: 29.11.2013
Сообщений: 3,353
19.04.2015, 00:50 5
Цитата Сообщение от Catstail Посмотреть сообщение
т.к. заменяемое слово может быть частью другого
это не противоречит постановке задачи
0
4687 / 4383 / 379
Регистрация: 12.05.2012
Сообщений: 3,089
21.04.2015, 12:54 6
Lisp
1
2
3
4
5
6
7
8
9
10
(defun substitute-word (z a s)
  (format nil "~{~a~^ ~}"
          (substitute
           (read-from-string z)
           (read-from-string a)
           (read-from-string
            (concatenate 'string "(" s ")")))))
 
> (substitute-word "zz" "aa" "aa bb aa")
"ZZ BB ZZ"
1
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
21.04.2015, 12:54
Помогаю со студенческими работами здесь

Заменить все вхождения слова ‘это‘ на слово ‘то’
Дан текст. Группы символов, разделенные пробелами и не содержащие пробелы внутри себя, будем...

В каждом слове заменить все последующие вхождения первой буквы слова на символ *
Нужна помощь в двух задачах. 1. В зад. строке слова разделены пробелами (кол-во произвольное). В...

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

Функции: заменить все вхождения слова, указанного пользователем на другое слово
Выполнить анализ текстового файла (текст произвольный). Ввод-вывод данных и выполнения других...


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

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

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