Python字符串查找

说明

python 字符串查找有4个方法:find()、index()、rfind()、rindex()。

  • find()方法:是在字符串里查找子串第一次出现的位置,若找到返回从0开始的下标值,若找不到返回-1。
  • index()方法:是在字符串里查找子串第一次出现的位置,类似字符串的find方法,不过比find方法更好的是,如果查找不到子串,会抛出异常,而不是返回-1。

rfind和rindex方法用法和上面一样,只是从字符串的末尾开始查找。

实例

#-*- coding:utf-8 -*-

if __name__ == "__main__":
    str = "abcd1234abcd1234"

    pos1 = str.find('d')
    print "pos1={0}".format(pos1)

    pos2 = str.find('5')
    print "pos2={0}".format(pos2)

    pos3 = str.rfind('d')
    print "pos3={0}".format(pos3)

    pos4 = str.index('d')
    print "pos4=%d"%(pos4)

    try:
        pos5 = str.index('5')
        print "pos4=%d"%(pos5)
    except Exception as e:
        print "Error:",e

    pos6 = str.rindex('d') 

输出结果:

pos1=3
pos2=-1
pos3=11
pos4=3
Error: substring not found
pos6=11
Python 字符串查找有四个方法: find, index, rfind, rindex。find 方法用于查找子串第一次出现的位置,如果找不到子串,返回-1。index 方法与 find 方法类似,但如果找不到子串,会抛出异常。rfind 方法用于查找子串最后一次出现的位置,rindex 方法与 rfind 方法类似,但如果找不到子串,会抛出异常。 例如,使用 find 方法查找子串在字符串中的位置,可以使用以下代码: ```python string = "Hello, world!" index = string.find("world") print(index) # 输出结果为 7 ``` 而使用 index 方法查找子串在字符串中的位置,可以使用以下代码: ```python string = "Hello, world!" try: index = string.index("world") print(index) # 输出结果为 7 except ValueError: print("子串不存在") ``` 使用 rfind 和 rindex 方法的用法与 find 和 index 方法类似,只是查找的方向相反,即从字符串的末尾开始往前查找。 另外,可以通过指定起始位置来查找子串在字符串中的位置。例如,使用 find 方法查找字符串中第一个出现的子串的位置,可以使用以下代码: ```python string = "Hello, world!" index = string.find("o", 1) print(index) # 输出结果为 4 ``` 以上代码中,指定了起始位置为 1,即从下标为 1 的位置开始查找子串。结果为 4,表示在字符串中从下标 1 开始第一次出现的子串 "o" 的位置为 4。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [python字符串查找](https://blog.csdn.net/withme222/article/details/121919036)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值