我如何抓住输入字符串的某些部分?

时间:2014-11-20 15:16:13

标签: python jython

主要是,我试图让用户输入一些数据

def getmonsterData():
  monster1 = raw_input("Enter the Monster Affinity|HP|AD> ")
  x = monster1.index('|');
  affinityType = monster1[0:x]
  printNow(affinitytype)

我能够制作一个变量来存储Monster Affinity,所以在打印时会列出用户输入的内容(例如:火/地球),但我不知道如何抓取并为HP和AD创建类似的< / p>

这将打印我列出的Monster1的亲和力,如Fire。这一切都很好,很好, 但是当我不太确定如何使用Jython / Python拼接字符串时......可能就像

HP = monster1[affinityType+1:x] ? not too sure how to do this

类似地,我需要得到最后一个变量AD,我相信如果我得到HP变量

我可以做
 y = len(monster1)
 AD = monster1[x+1:y]

对此的任何输入都会有所帮助:)谢谢

1 个答案:

答案 0 :(得分:4)

您可以使用拆分:

>>> aff,HP,AD = raw_input("Enter the Monster Affinity|HP|AD> ").split('|')
Enter the Monster Affinity|HP|AD> a|11|22
>>> aff
'a'
>>> HP
'11'
>>> AD
'22'

但是如果你想使用索引,你可以使用start参数(S.index(sub [,start [,end]]) -> int

>>> monster =  raw_input("Enter the Monster Affinity|HP|AD> ")
Enter the Monster Affinity|HP|AD> a|11|22
>>> x = monster.index('|')
>>> monster[:x]
'a'
>>> y = monster.index('|',x+1)
>>> monster[x+1:y]
'11'
>>> monster[y+1:]
'22'