如何检查python中字符串中的单词之前的字符

时间:2018-07-18 09:52:21

标签: python sikuli

当字符串中的单词可能发生变化时,如何隔离"chaos""exalted"之前的数字?

  

@来自ProhtienArc:您好,我想为我的1 Incursion中的崇拜声望购买69.5混乱。

如果有办法的话,我也在使用sikuli。

1 个答案:

答案 0 :(得分:0)

有很多方法。 最简单的(如果您所寻找的单词不存在,它将爆炸):

给出一个字符串:

s="@From ProhtienArc: Hi, I'd like to buy your 69.5 chaos for my 1 exalted in Incursion."

(在空格上)将其分割:

L=s.split()

然后您可以搜索列表

['@From', 'ProhtienArc:', 'Hi,', "I'd", 'like', 'to', 'buy', 'your', '69.5', 'chaos', 'for', 'my', '1', 'exalted', 'in', 'Incursion.']

像这样

>>> L.index("chaos")
9

并使用该索引在以下位置找到令牌:

>>> L[L.index("chaos")-1]
'69.5'

这是一个字符串,因此您需要将其转换为数字。

对另一个单词也同样如此。 提防找不到单词或它们在初始索引处。

通常,如果出现“混乱”,则可以在任何位置使用任何单词。

def number_before(word, split_words):
    return L[L.index(word)-1]

分割字符串并命名:

as_string = number_before("chaos", s.split())
number = float(as_string)

如果单词不存在,您需要决定要怎么做。