The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]

форумы  помощь  поиск  регистрация  майллист  вход/выход  слежка  RSS
"разбор определенных слов в тексте"
Вариант для распечатки  
Пред. тема | След. тема 
Форум Программирование под UNIX (Shell скрипты)
Изначальное сообщение [ Отслеживать ]

"разбор определенных слов в тексте"  +/
Сообщение от rackoon on 12-Июл-13, 14:07 
Всем привет!

Подсобите пожалуйста с разбором текста следующей конструкции - надо найти в каждой строке все слова содержащие более двух символов подчеркивания,и удалить их начиная со второго. Но вся сложность в том что слово может содержать в себе набор определенных символов ,после которых подчеркивание нужно удалять снова начиная со второго.

Вот пример текста:

ж_вася_01+м_пупкин_222

на выходе должно получиться:

ж_вася01+м_пупкин222

Набор символов,которые могут быть вместо знака "+" как в примере,следующий:

+-/%@&,;?)(^"!=

Заранее благодарю за помощь!

Ответить | Правка | Cообщить модератору

Оглавление

Сообщения по теме [Сортировка по времени | RSS]


1. "разбор определенных слов в тексте"  +/
Сообщение от allez (ok) on 14-Июл-13, 21:20 
>[оверквотинг удален]
> со второго. Но вся сложность в том что слово может содержать
> в себе набор определенных символов ,после которых подчеркивание нужно удалять снова
> начиная со второго.
> Вот пример текста:
> ж_вася_01+м_пупкин_222
> на выходе должно получиться:
> ж_вася01+м_пупкин222
> Набор символов,которые могут быть вместо знака "+" как в примере,следующий:
> +-/%@&,;?)(^"!=
> Заранее благодарю за помощь!

Эти символы встречаются в строке только один раз?

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

2. "разбор определенных слов в тексте"  +/
Сообщение от rackoon on 15-Июл-13, 07:05 
>[оверквотинг удален]
>> в себе набор определенных символов ,после которых подчеркивание нужно удалять снова
>> начиная со второго.
>> Вот пример текста:
>> ж_вася_01+м_пупкин_222
>> на выходе должно получиться:
>> ж_вася01+м_пупкин222
>> Набор символов,которые могут быть вместо знака "+" как в примере,следующий:
>> +-/%@&,;?)(^"!=
>> Заранее благодарю за помощь!
> Эти символы встречаются в строке только один раз?

Эти символы встречаются в слове один раз.В одной строке может быть несколько таких слов.

Ответить | Правка | ^ к родителю #1 | Наверх | Cообщить модератору

3. "разбор определенных слов в тексте"  +/
Сообщение от LU on 17-Июл-13, 11:19 
Ну, спросонья могу выдать такой вариант:

#!/usr/bin/env python
#_*_ coding: utf-8 _*_

word = u'ж_вася_01+м_пупкин_222'
reset = '+-/%@&,;?)(^"!='

def cleaner(word):
    lst = list(word)
    counter = 0
    positions = []
    shifter = 0
    i = 0
    while i < len(word):
        if word[i] == '_':
            counter += 1
            if counter > 1:
                positions.append(i - shifter)
                shifter += 1
        elif word[i] in reset:
            counter = 0
        i += 1

    for pos in positions:
        lst.pop(pos)
    print (''.join(lst))
        
if __name__ == '__main__':
    cleaner(word)

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

4. "разбор определенных слов в тексте"  +/
Сообщение от LSTemp (ok) on 19-Июл-13, 05:31 
>[оверквотинг удален]
> строке все слова содержащие более двух символов подчеркивания,и удалить их начиная
> со второго. Но вся сложность в том что слово может содержать
> в себе набор определенных символов ,после которых подчеркивание нужно удалять снова
> начиная со второго.
> Вот пример текста:
> ж_вася_01+м_пупкин_222
> на выходе должно получиться:
> ж_вася01+м_пупкин222
> Набор символов,которые могут быть вместо знака "+" как в примере,следующий:
> +-/%@&,;?)(^"!=

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

> Заранее благодарю за помощь!

Ответить | Правка | ^ к родителю #0 | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2025 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру