如何在python中的特定单词之间找到空格

时间:2015-12-07 04:46:21

标签: python

我试图找到特定单词和相邻单词之间的空格数。

我有以下字符串:

"${test}=    Test word      browser      mozilla"

现在我正在尝试计算单词Test wordbrowser之间的空格。这个词是每行的变化。

注意 - 这两个单词之间有多个空格。

2 个答案:

答案 0 :(得分:1)

也许这个?

>>> import re
>>> string = "${test}=    Test word      browser      mozilla"
>>> re.search('Test word( +)browser', string).group(1)
'      '
>>> len(re.search('Test word( +)browser', string).group(1))
6
>>> 

或没有正则表达式:

>>> string = "${test}=    Test word      browser      mozilla"
>>> string.split('Test word')[1].split('browser')[0]
'      '
>>> len(string.split('Test word')[1].split('browser')[0])
6
>>> 

答案 1 :(得分:0)

使用正则表达式:

import re

s = '${test}= Test word browser mozilla'
target = 'Test word'
pattern = r'{}(\s+)'.format(target)
count = len(re.findall(pattern, s)[0])

此正则表达式模式将在字符串中找到目标字,并匹配其后的任何空格字符序列。

另一种方法是使用string.partition()拆分目标字上的字符串,然后处理结果:

import string

s = '${test}= Test word browser mozilla'
target = 'Test word'
head, sep, tail = s.partition(target)
if tail:
    count = 0
    for c in tail:
        if c in string.whitespace:
            count += 1
        else:
            break
    print(count)
else:
    print("Target word(s) {} not present".format(target))