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

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

15.08.2018, 22:21. Просмотров 434. Ответов 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. Разработать и описать алгоритм, в результате которого числа меняют свой знак...

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

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

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

3
Qwerty_Wasd
investigator web-dev
Эксперт JSЭксперт HTML/CSS
1921 / 1327 / 601
Регистрация: 16.04.2016
Сообщений: 3,439
Завершенные тесты: 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
85 / 80 / 25
Регистрация: 03.02.2009
Сообщений: 221
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
4195 / 1562 / 472
Регистрация: 11.04.2015
Сообщений: 2,848
Записей в блоге: 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

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

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

Найти в файле слово с восклицательным знаком, удалить восклицательный знак, и вывести слово в TextBox
Нужно найти в файле слово с восклицательным знаком,удалить восклицательный знак и вывести слово в...


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

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

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