str.index()与str.find()比较
def extract_from_tag(tag,line):
opener = "<" + tag + ">"
closer = "</" + tag + ">"
try:
i = line.index(opener)# i = 7
start = i + len(opener) # start = 7 + 5 =12
j = line.index(closer,start) #j =16
return line[start:j] # retrun line[12:16]
except ValueError:
return None
a = extract_from_tag("red","what a <red>reosedf</red> this is")
print(a)
print(len(a))
str.index()
def extract_from_tag(tag,line):
opener = "<" + tag + ">"
closer = "</" + tag + ">"
i = line.find(opener) # i = 7
if i != -1:
start = i + len(opener) #start = 7+5=12
j = line.find(closer,start) # j = 19
if j !=-1:
return line[start:j] #line[12:19]
return None
a = extract_from_tag("red","what a <red>rose</red> this is")
print(a)
str.find()
如果需要在某个字符串中找到另一个字符串所在的位置,有两种方法:
- 使用str.index()方法。该方法返回子字符串的索引位置,或者在失败时产生一个ValueError异常
- 使用str.find()方法。该方法返回子字符串的索引位置,或者在失败时返回-1
这两种方法都要把寻找的字符串作为第一个参数,还可以有两个可选的参数。其中第二个参数是待搜索的字符串的起始位置,第三个则是其终点位置
str.index()与str.find()比较的更多相关文章
- char str[]和char *str的区别
1.http://blog.csdn.net/szchtx/article/details/10396149 char ss[]="C++"; ss[0]='c'; ...
- 【转】char *str 和 char str[]的区别
char str[] = "abcd";定义了一个局部字符数组,返回它的地址肯定是一个已经释放了的空间的地址. 此函数返回的是内部一个局部字符数组str的地址,且函数调用完毕后 此 ...
- char str[] 与 char *str的区别详细解析
char* get_str(void) { char str[] = {"abcd"}; return str; } char str[] = {"abcd"} ...
- 刨根问底儿 -- intVal($str) 跟 (int) $str 的运算结果有什么区别
intVal($str) 跟 (int) $str 都是把其他类型的变量转化为int型变量的方式,这么多年来我一直森森滴怀疑它们的运算结果在某些条件下会有区别.对于我的疑问,文档里也没有多说(或者我没 ...
- 290.单词模式。给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式。(c++方法)
题目描述: 给定一种 pattern(模式) 和一个字符串 str ,判断 str 是否遵循相同的模式. 这里的遵循指完全匹配,例如, pattern 里的每个字母和字符串 str 中的每个非空单词之 ...
- java 去最后一位字符 str.substring(0,str.length()-1)
String str = " 中国, 美国 , 意大利 ";String[] arr = str.split(",");for(int i1 =0;i1< ...
- Python:str.ljust()、str.rjust()、str.center()函数
str.ljust().str.rjust().str.center()函数 功能:调整字符串站位宽度,并确定字符串对齐方式: #可以用其它字符填充字符: #字符串长度 = 字符串个数(包含空格.标点 ...
- 由 var str = 'hello world' str.attr ='666'; 到包装类型
近期有些小伙伴在公司的一道面试题踩了坑, 今天特地跟大家一起分享下: 原题如下: var str = 'hello world'; str.attr = '666'; console.log(str ...
- 给定一个字符串str,将str中连续两个字符为a的字符替换为b(一个或连续超过多个字符a则不替换)
需求:给定一个字符串str,将str中连续两个字符为a的字符替换为b(一个或连续超过多个字符a则不替换) 如: a 不替换 b 不替换 ab 不替换 ba 不替换 aba 不替换 aab 替换为 ...
随机推荐
- [剑指Offer]22-链表中倒数第k个结点
题目链接 https://www.nowcoder.com/practice/529d3ae5a407492994ad2a246518148a?tpId=13&tqId=11167&t ...
- 《centos系列》ubuntu终端链接centos服务器
首先你得知道centos的账户密码:如果你不知道可以直接在centos下使用root用户: passwd 用户名 直接更新用户的密码. 然后在ubuntu终端(前提是已经安装了ssh): ssh ad ...
- android项目安装报错:INSTALL_FAILED_CONFLICTING_PROVIDER
这主要是由于调试的环境中已有一个同名的Provider存在. 解决方法是修改AndroidManifest.xml中的 <provider android:name="applockP ...
- 比特币测试网络搭建以及RPC服务开启-配置注意事项
.bitcoin QA Test环境 启动指定参数: "C:\Program Files (x86)\Bitcoin\bitcoin-qt.exe" -testnet -serve ...
- socket 进阶
1.验证客户端链接的合法性 如果你想在分布式系统中实现一个简单的客户端链接认证功能,又不像SSL那么复杂,那么利用hmac+加盐的方式来实现 import socket import os impor ...
- c# 策略模式 加工厂模式-对象与行为分离
计算器程序 策略模式是一种行为学模式.行为是同等级的算法 ,这些行为每个模式封装到一个类里 上端提供数据 ,下端提供算法 ,中间层context context 把上端的数据和算法 放到co ...
- 网站文章分享到微博,微信、qq空间--举例用织梦
有对应接口的,传递参数过去就行了,注意下面的{..},需要替换为你的内容,看参数名称你应该知道是什么东东 新浪地址接口http://service.weibo.com/share/share.php? ...
- 在centos7上安装elasticSearch
因为elasticsearch是用java编写的,所以需要先安装JDK: jdk1.8的安装:安装指导 elasticsearch的下载和安装 一.下载elasticSearch 1.下载地址: ht ...
- Java界面编程—事件的种类
Java处理事件相应的类和监听接口大多位于 awt 包中. 在 java.swing.event 包中有专门用于 swing 组件的事件类和监听接口. awt 事件类继承自 AWTEvent,其超类是 ...
- jquery全选反选
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/ ...