Форум программистов, компьютерный форум, киберфорум
JavaScript для начинающих
Войти
Регистрация
Восстановить пароль
 
Женя Брянцев
12 / 0 / 0
Регистрация: 10.11.2017
Сообщений: 88
Завершенные тесты: 2
1

Удалить слова из предложения, если они содержат один восклицательный знак

15.08.2018, 22:21. Просмотров 486. Ответов 3
Метки нет (Все метки)

Удалить слова из предложения, если они содержат один восклицательный знак. Слова разделяются пробелами в предложении.
C#
1
2
3
4
5
6
7
remove("Hi!") === ""
remove("Hi! Hi!") === ""
remove("Hi! Hi! Hi!") === ""
remove("Hi Hi! Hi!") === "Hi"
remove("Hi! !Hi Hi!") === ""
remove("Hi! Hi!! Hi!") === "Hi!!"
remove("Hi! !Hi! Hi!") === "!Hi!"
Пробовал, что-то типо такого, но не прокатывает...

Javascript
1
2
3
4
5
function remove(s)
{
var str = s.split("Hi!");
return str.join();
}
0
QA
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
15.08.2018, 22:21
Ответы с готовыми решениями:

Содержит ли текст хотя бы один восклицательный знак, и в какой строке
Определить, содержит ли текст хотя бы один восклицательный знак, и в какой строке. в Си

Поменять знак чисел на противоположный, если они имеют разный знак; иначе замененить их нулями
даны два числа a и b. Разработать и описать алгоритм, в результате которого числа меняют свой знак...

Алгоритм: Поменять у чисел знак на противоположный, если они имеют разный знак, иначе заменить на нули
Даны два числа a и b . Разработать и описать алгоритм, в результате которого числа меняют свой знак...

Удалить слова, заканчивающиеся на букву «к», если они есть
3.3. Удалить слова, заканчивающиеся на букву «к», если они есть.

3
Qwerty_Wasd
investigator web-dev
Эксперт JSЭксперт HTML/CSS
1926 / 1330 / 603
Регистрация: 16.04.2016
Сообщений: 3,455
Завершенные тесты: 2
15.08.2018, 23:17 2
Добавлено через 18 минут
На JS как-то так -
Javascript
1
const remove = str => str.split` `.filter(e=>e.toLowerCase()!='hi!').join` `;
1
Grass-snake
86 / 81 / 25
Регистрация: 03.02.2009
Сообщений: 222
15.08.2018, 23:19 3
Возможно не совсем красивое решение, но работает!
(если что-то не так - пиши)
Javascript
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
function remove(s) {
    var arr = s.split(" ");
    for (var i=arr.length-1; i>=0; i--) {
        num = 0;
        var pos = -1;
        while ((pos = arr[i].indexOf('!', pos + 1)) != -1) {
            num++;
        }
        if (num == 1) {
            arr.splice(i, 1);
        }
    }
    answer = arr.join(' ')
    return answer;
}
1
diadiavova
4230 / 1589 / 480
Регистрация: 11.04.2015
Сообщений: 2,880
Записей в блоге: 36
16.08.2018, 02:22 4
Женя Брянцев, тут требуются некоторые уточнения. Во-певрых, непонятно по какому принципу удаляются пробелы, если задача в том, чтобы удалять слова, то, куда делся пробел из второго примера? Или после удаления надо нормализовать пробелы, типа удалить вначале и в конце, а в середине оставить по одному между словами? Во-вторых, надо бы уточнить, где конкретно могут появляться восклицательные знаки, поскольку в примерах они только вначале и в конце, а в середине могут быть или нет? И слова будут обязательно Hi или это просто такой пример?

Если все как описано в задании, то есть просто убирать слова, содержащие один пробел, то вот так
Javascript
1
2
        const remove = str => str.replace(/([^ ]+)/g,
            m => m.split("").filter(c => c == "!").length == 1 ? "" : m);
Если надо убрать лишние пробелы, то так
Javascript
1
2
        const remove = str => str.replace(/([^ ]+)/g,
            m => m.split("").filter(c => c == "!").length == 1 ? "" : m).trim().replace(/ +/, " ");
1
16.08.2018, 02:22
Answers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
16.08.2018, 02:22

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

В тексте в конце каждого предложения, поставить восклицательный знак "!"
В тексте в конце каждого предложения, поставить восклицательный знак "!" помогите сделать, или...

Из текстового файла прочитать предложение, после каждого слова поставить восклицательный знак
Из текстового файла прочитать предложение, после каждого слова поставить восклицательный знак....

Если в слове строки есть искомая буква, то добавить к этому слову восклицательный знак '!'
С клавиатуры вводится строка из нескольких разных слов через пробел. Потом вводится буква, которую...

Данный текст, в котором слова разделяются пробелом, а в конце стоит восклицательный знак (!). необходимо:
Данный текст, в котором слова разделяются пробелом, а в конце стоит восклицательный знак (!)....


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

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

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