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

Робота со строкой

27.04.2020, 12:46. Показов 380. Ответов 8

Author24 — интернет-сервис помощи студентам
Здраствуйте!
Нужно проверить есть ли слова НАПРИМЕР: "хайп" в масиве такого типа:

['', 'А', 'при', 'шизофрении', 'человек', 'не', 'способен', 'осмыслить', 'информацию', 'о', 'зеленых\n', '', 'Пресс-секретарь', 'администрации', 'уточнила,', 'что', 'недавно', 'в', 'школе', 'вступило', 'в', 'силу\n', 'Нужен', 'хайп"\n', '', 'Просто', 'хайп\n', '', 'Я', 'что,', 'идиот?":']

Должно вывести сллово "хайп" но без "\n"

Так же нужно будет осуществлять проверку на наличие других слов НАПРИМЕР: "идиот"
но как это сделать если в масиве оно с лишними знаками 'идиот?":' ?

Подскажите пожалуйста как это можно реализовать
0
Programming
Эксперт
94731 / 64177 / 26122
Регистрация: 12.04.2006
Сообщений: 116,782
27.04.2020, 12:46
Ответы с готовыми решениями:

Робота с командной строкой
Здраствуйте. Есть проблемка, не могу понять почему так, прошу чтоб ктото помог. #include...

Робота с строкой в c++builder
Найти количество букв "о" в имени (имя ввести с клавиатуры ) !!!

Робота с .htaccess робота с адресом перенаправление
Здравствуйте как мне в .htaccess сделать перенаправление вот этих адресов /index.php?do=reg на...

ПРАКТИЧНА РОБОТА № 1 „РОБОТА З МНОЖИНАМИ”
Ребята помогите пожалуйста сделать практычну роботу очень нужно буду благодарна. Умова задачі така:...

8
0 / 0 / 0
Регистрация: 13.01.2018
Сообщений: 12
27.04.2020, 12:59 2
В цикле пройтись по всем элементам массива, пытаясь найти похожую символьную строку.
0
0 / 0 / 0
Регистрация: 07.12.2019
Сообщений: 22
27.04.2020, 16:30  [ТС] 3
Каким медодом это можно реализовать
Потому что если я буду писать это фунцией
if слово in масив
то выводить оно будет только слово которое в точности подходит
А мне мешают разные знаки рядом со словами, и прописать исключения я не могу так как файл очень большой
0
0 / 0 / 0
Регистрация: 13.01.2018
Сообщений: 12
27.04.2020, 16:37 4
Ну смотри, впринципе можешь попробовать функцию startswith(), но это, что называется топором, а можешь в цикле проходиться по элементам списка и другим циклом по этому элементу списка, сравнивая символы/подстроки. примерно это будет выглядеть так:
Python
1
2
3
4
a = ['qwerty&22', '\\*qwerty/*']
for i in a:
    for j in i:
        [тут тело цикла сам допишешь]
0
Эксперт по компьютерным сетям
5898 / 3355 / 1035
Регистрация: 03.11.2009
Сообщений: 10,003
27.04.2020, 17:19 5
Python
1
2
3
4
5
arr = ['', 'А', 'при', 'шизофрении', 'человек', 'не', 'способен', 'осмыслить', 'информацию', 
       'о', 'зеленых\n', '', 'Пресс-секретарь', 'администрации', 'уточнила,', 'что', 'недавно', 'в', 
       'школе', 'вступило', 'в', 'силу\n', 'Нужен', 'хайп"\n', '', 'Просто', 'хайп\n', '', 'Я', 'что,', 
       'идиот?":']
print(any(x for x in arr if 'хайп' in x))
0
0 / 0 / 0
Регистрация: 13.01.2018
Сообщений: 12
27.04.2020, 17:25 6
Jabbson, Функция any вернёт True, даже при однокоренных словах, например 'хайп' - True, но и при 'хайпово' вернется True
0
Эксперт по компьютерным сетям
5898 / 3355 / 1035
Регистрация: 03.11.2009
Сообщений: 10,003
27.04.2020, 17:28 7
Python
1
any(x for x in arr if x.rstrip('\n') == 'хайп')
0
0 / 0 / 0
Регистрация: 13.01.2018
Сообщений: 12
27.04.2020, 17:33 8
Jabbson, ты наверное не понял его проблемы. Там написано: Так же нужно будет осуществлять проверку на наличие других слов НАПРИМЕР: "идиот"
но как это сделать если в масиве оно с лишними знаками 'идиот?":' ?
. Твоим образом будет возвращаться False, при наличии, к примеру символа * или ? около искомой символьной строки.

Добавлено через 1 минуту
Нужно искать подстроку в элементе списка, и, если эта подстрока будет там находиться, то убирать лишние символы.
0
Эксперт по компьютерным сетям
5898 / 3355 / 1035
Регистрация: 03.11.2009
Сообщений: 10,003
27.04.2020, 17:41 9
Python
1
2
3
4
5
6
import re
 
arr = ['', 'А', 'при', 'шизофрении', 'человек', 'не', 'способен', 'осмыслить', 'информацию', 'о', 'зеленых\n', '', 'Пресс-секретарь', 'администрации', 'уточнила,', 'что', 'недавно', 'в', 'школе', 'вступило', 'в', 'силу\n', 'Нужен', 'хайп"\n', '', 'Просто', 'хайп\n', '', 'Я', 'что,', 'идиот?":']
 
word = 'идиот'
any(x for x in arr if re.match(r'\b'+word+r'\b', x))
Код
>>> word = 'хайп'
>>> any(x for x in arr if re.match(r'\b'+word+r'\b', x))
True
>>> word = 'идиот'
>>> any(x for x in arr if re.match(r'\b'+word+r'\b', x))
True
>>> word = 'поле'
>>> any(x for x in arr if re.match(r'\b'+word+r'\b', x))
False
0
27.04.2020, 17:41
IT_Exp
Эксперт
87844 / 49110 / 22898
Регистрация: 17.06.2006
Сообщений: 92,604
27.04.2020, 17:41
Помогаю со студенческими работами здесь

Нарисовать робота, как пример взять робота из мультфильма "Валли"
Графика в Дельфи

В двухмерном массиве первую строку поменять местами с последней строкой, вторую строку с предпоследней строкой и так далее.
))=))))))))))))))

Возвести в квадрат строки матрицы между строкой, содержащей min и строкой, содержащей max элементы
Ввести двумерный массив A n*m, вывести его. Возвести в квадрат все строки которые расположены между...

Не робота...
а машинку с электромоторчиком. Делаю долго, угадайте сколько времени? ...

Робота на 5
Пропоную зробити найкращу презентацію

Робота
Пока готова только платформа, но не полностью. Еще нужно закрепить аккумуляторы. Платформу я решил...


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

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

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