Извлечь строку перед "............" - PullRequest
0 голосов
/ 06 марта 2019

Я хочу извлечь информацию раньше многих точек.

Например, если моя строка: "" Проверка профиля ......................................... ". Все, что я хочу, это извлечь" Тесты профиля ".

Мой фактический код:

s1 = "Profile Tests ........................................."
s1.partition('.')[0]

Это работает, потому что я получаю: "Тесты профиля", но когда я пытаюсь использовать другую строку, например:

s1 = "Issuer may be subject to a 30 per cent."
s1.partition('.')[0]

Я получаю "Эмитент может быть подвержен 30-процентному проценту"Но я не хочу извлекать, если у меня есть только одна точка.

Как бы я извлек информацию, только если у меня много «.»в моей строке?

Ответы [ 4 ]

0 голосов
/ 06 марта 2019

Вы можете использовать это регулярное выражение для сопоставления строки с 3 или более точками в конце.Вы сопоставляете все, что хотите в классе символов ([]) и указываете, что за ним должны следовать 3 или более точек.

Регулярное выражение: ([\w ]+)\.{3,}$

Демо: https://regex101.com/r/MbSJWo/2

0 голосов
/ 06 марта 2019

Установите разделитель в функции разделения на количество точек, которые вы хотите найти.Так, например, если вы хотите, чтобы 3 строки извлекали предыдущую строку, вы должны использовать:

s1.partition('...')[0]

Затем вы должны принять во внимание, что если строка '...' отсутствует в s1, вы должны вернутьноль (или что вы хотите), поэтому окончательный код будет:

if s1.partition('...')[0] is s1:
    result = null
else:
    result = s1.partition('...')[0]
0 голосов
/ 06 марта 2019

l = 'Эмитент может облагаться 30%.'

Использовать ниже комманд l.replace ('.', ''), если l.count ('.')> 1, иначе l

0 голосов
/ 06 марта 2019

Вы можете найти первый «.»с помощью метода find типа str.Затем вы можете использовать оператор среза, чтобы получить подстроку перед '.'символ.

st = 'Profile Tests .........................................'
loc = st.find('.')
st = st[:loc]
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...