如何在String中找到第一个点,哈希或者parens?

时间:2014-02-01 23:08:19

标签: python

我试图弄清楚如何在字符串中找到第一个点,哈希或者parens。

示例:test.case#tester,我需要找到#{1}}之前的位置。

提前致谢。

4 个答案:

答案 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 {'.','#','(',')'})