当字符串中的单词可能发生变化时,如何隔离"chaos"
和"exalted"
之前的数字?
@来自ProhtienArc:您好,我想为我的1 Incursion中的崇拜声望购买69.5混乱。
如果有办法的话,我也在使用sikuli。
答案 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)
如果单词不存在,您需要决定要怎么做。