我试图弄清楚如何在字符串中找到第一个点,哈希或者parens。
示例:test.case#tester
,我需要找到#{1}}之前的位置。
提前致谢。
答案 0 :(得分:3)
这看起来很像家庭作业,但你只需要遍历字符串并检查每个字符。
test_string = "test.case#tester"
look_for = [".", "#", "(", ")"]
for index, single_char in enumerate(test_string):
if single_char in look_for:
print index
break
答案 1 :(得分:2)
>>> testcase='test.case#tester'
>>> tokens = ['.','#','(',')']
>>> min([testcase.find(i) if testcase.find(i) > 0 else len(testcase) for i in tokens])
4
如果最小索引大于字符串的长度,则此字符串中没有符号。
答案 2 :(得分:1)
min(x for x in [mystring.find('.'), mystring.find('#'), mystring.find(')'), mystring.find('(')] if x >= 0)
答案 3 :(得分:0)
next(i for i,c in enumerate(my_str) if c in {'.','#','(',')'})