Удаление символов / знаков из строки

Я готовлю текст для облака слов, но застреваю.

Мне нужно убрать все цифры, все знаки вроде. , -? знак равно @ и т. д., но я не знаю как. Я не хочу заменять снова и снова. Есть ли способ для этого?

Вот моя концепция и то, что мне нужно сделать:

  • Объедините тексты в одну строку
  • Установите символы в нижний регистр ‹--- Я здесь
  • Теперь я хочу удалить определенные знаки и разделить текст на слова (список)
  • вычислить частоту слов
  • далее делаем скрипт игнорируемых слов ...
abstracts_list = open('new','r')
abstracts = []
allab = ''
for ab in abstracts_list:
    abstracts.append(ab)
for ab in abstracts:
    allab += ab
Lower = allab.lower()

Пример текста:

МикроРНК (миРНК) представляют собой класс некодирующих молекул РНК длиной примерно от 19 до 25 нуклеотидов, которые подавляют экспрессию генов-мишеней на посттранскрипционном уровне за счет связывания с 3'-нетранслируемой областью (3'-UTR). Вирус Эпштейна-Барра (EBV) генерирует по крайней мере 44 miRNA, но функции большинства из этих miRNA еще не идентифицированы. Ранее мы сообщали о BRUCE как о мишени для miR-BART15-3p, miRNA, продуцируемой EBV, но наши данные предполагают, что могут быть другие связанные с апоптозом гены-мишени miR-BART15-3p. Таким образом, в этом исследовании мы провели поиск новых генов-мишеней miR-BART15-3p с использованием анализов in silico. Мы обнаружили возможный сайт совпадения семян в 3'-UTR Tax1-связывающего белка 1 (TAX1BP1). Люциферазная активность репортерного вектора, включающего 3'-UTR TAX1BP1, снижалась miR-BART15-3p. MiR-BART15-3p подавлял экспрессию мРНК и белка TAX1BP1 в клетках AGS, тогда как ингибитор miR-BART15-3p усиливал экспрессию мРНК и белка TAX1BP1 в клетках AGS-EBV. Mir-BART15-3p модулировал активность NF-κB в клеточных линиях рака желудка. Более того, miR-BART15-3p сильно повышает химиочувствительность к 5-фторурацилу (5-FU). Наши результаты показывают, что miR-BART15-3p нацелен на антиапоптотический ген TAX1BP1 в раковых клетках, вызывая повышенный апоптоз и химиочувствительность к 5-ФУ.


person MTG    schedule 05.11.2016    source источник


Ответы (2)


Итак, чтобы установить символы верхнего регистра в символы нижнего регистра, вы можете сделать следующее: просто сохраните текст в строковой переменной, например STRING, а затем используйте команду

STRING=re.sub('([A-Z]{1})', r'\1',STRING).lower()

теперь ваша строка будет свободна от заглавных букв.

Чтобы снова удалить специальные символы, модуль re может помочь вам с помощью подкоманды:

STRING = re.sub('[^a-zA-Z0-9-_*.]', ' ', STRING )

с помощью этой команды ваша строка будет свободна от специальных символов

А чтобы определить частоту слов, вы можете использовать коллекции модулей, откуда вам нужно импортировать Counter.

Затем используйте следующую команду, чтобы определить частоту, с которой встречаются слова:

Counter(STRING.split()).most_common()

person zodiac    schedule 05.11.2016

Я бы, наверное, попробовал использовать string.isalpha ():

abstracts = []
with open('new','r') as abstracts_list:
    for ab in abstracts_list:  # this gives one line of text. 
        if not ab.isalpha():
            ab = ''.join(c for c in ab if c.isalpha() 
        abstracts.append(ab.lower())
# now assuming you want the text in one big string like allab was
long_string = ''.join(abstracts)
person zenlc2000    schedule 05.11.2016