我有以下变量。是否有办法挑出“Al#ex”并将其分配给新变量解析Python中的字符串3
string="@Al#ex$"
firstChar="A"
lastChar="x"
结果应该是这样的。
print(finalString)
>"Al#ex"
在此先感谢。
我有以下变量。是否有办法挑出“Al#ex”并将其分配给新变量解析Python中的字符串3
string="@Al#ex$"
firstChar="A"
lastChar="x"
结果应该是这样的。
print(finalString)
>"Al#ex"
在此先感谢。
def pick1(string, first, last):
i = string.find(first)
if i < 0: return ''
j = string.find(last, i+1)
if j < 0: return ''
return string[i:j+1]
def pick2(string, first, last):
i = string.find(first)
if i < 0: return ''
j = string.rfind(last, i+1)
if j < 0: return ''
return string[i:j+1]
>>> pick1('@Al#ex$', 'A', 'x')
'Al#ex'
>>> pick2('@Al#ex$', 'A', 'x')
'Al#ex'
>>>
>>> pick1('@xl#eA$', 'A', 'x')
''
>>> pick2('@xl#eA$', 'A', 'x')
''
>>>
>>> pick1('[email protected]#ex$', 'A', 'x')
'Al#ex'
>>> pick2('[email protected]#ex$', 'A', 'x')
'Al#ex'
>>>
>>> pick1('[email protected]#ex$x', 'A', 'x')
'Al#ex'
>>> pick2('[email protected]#ex$x', 'A', 'x')
'Al#ex$x'
如果在*'A'之前还有另一个'x' *怎么办?或者在输入字符串中的''Al#ex'之后有一个额外的'x' *? –
mystring="@Al#ex$"
firstChar="A"
lastChar="x"
finalString = mystring[mystring.index(firstChar):mystring.rindex(lastChar)+1]
print (finalString)
输出
Al#ex
'finalString =串[1:5]'? '升= LEN(字符串); finalString = string [1:l-2]'? – twalberg