Проблема с использованием регулярных выражений для поиска специальных символов - PullRequest
0 голосов
/ 15 июня 2019

Я использую Beautifulsoup и Selen для сбора данных со страницы. После сужения данных до нужной мне строки это дает мне «Первую кровь» ○○○○○ ● ○○○○. Моя цель - определить положение залитой точки (в данном случае 5, если мы считаем от 0).

Я начал с попытки удалить все не специальные символы, используя:

test = re.sub(r'[a-z]+', '', collectStatistics[5], re.I)

Что дало мне 'F B ○○○○○ ● ○○○○', поэтому я предполагаю, что F B также являются специальными символами. Я понятия не имею, как написать регулярное выражение, которое будет определять заполненный круг, поэтому любой совет будет оценен.

Заранее спасибо:)

Ответы [ 2 ]

0 голосов
/ 15 июня 2019

Он находит F и B, потому что ваше регулярное выражение находит строчные буквы. Если вы хотите найти все из них, измените регулярное выражение на [a-zA-Z]+

import re
collectStatistics = "First Blood○○○○○●○○○○"
test = re.sub(r'[a-zA-Z]+', '', collectStatistics,re.I)
print (test)

ВЫХОД:

 ○○○○○●○○○○
0 голосов
/ 15 июня 2019

Я думаю, что регулярные выражения (регистры?) здесь излишни.

Сначала обрежьте все после заполненной точки:

line = line.split('●')[0] # Split on filled dots, then take only the first part

Теперь посчитайте пустые точки:

result = line.count('○') # Count occurrences
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...