stringfindpython
① 在python正则中我应该怎么匹配 '+']&&&&['-'] 这个字符呢
正则的话
a="3****['+']&&&&['-']"
b = re.search("'\+'\]&&&&\['\-'\]",a)
另外为什么非要用正则,直接string find不是更容易么?
② python中str.find和 in list的区别使用
在一个str中查找特定的字符串,使用string1.find(substring)的语法,这种查找时一种模糊查找;
但是在一个list中,如果判断是否包含某个项目,是一个绝对的相等的比较,空格都需要匹配;
所以使用查找匹配时可以采用的方法是:
1.将list转化为str之后模糊匹配:
比如 if str(list1).find(substring) != -1
2.将list中的所有的字符串都去掉特殊字符以及空格;
比如:
for item in list1:
item.replace(' ','')
再用if substring in list1:
③ python关键字的查询方法
Python find() 方法检测字符串中是否包含子字符串 str ,如果指定 beg(开始) 和 end(结束) 范围,则检查是否包含在指定范围内,如果包含子字符串返回开始的索引值,否则返回-1。
str.find(str, beg=0, end=len(string))
str -- 指定检索的字符串
beg -- 开始索引,默认为0。
end -- 结束索引,默认为字符串的长度。
初学者建议用上面的,进阶可以用正则表达式
④ python 的一段代码看不懂,求解答!
#这是一个类似计算器的程序,上边的calculator函数你应该也能看懂。
#将一个字符串赋值给string这个变量
string=raw_input('pleaseenterthestring:')
#这是一个for循环,对trye这个列表进行迭代判断。
forobjintrye:
#这里有两个判断条件string变量调用了find()和count()方法
#具体方法就不详说了,自己翻书吧。
#I.string.find(obj)>-1使用find()查找string
#里是否包含trye列表的运算符,find(obj)判断运算符在第几个字符位置
#这里是'<-1’按照字符位置来算'-1'为最后一个字符。
#比如'1+2'这个字符串,运算符'+'号,就在第1个位置,1+2对应的字符位置
#就是012。
#II.count(obj)<2用来统计这个运算符在string里出现了多少次。
#2.string.count(obj)<2:这个地方定义了你运算符号的个数不能大于2
#也就是相同的运算符不能超过2个
ifstring.find(obj)>-1andstring.count(obj)<2:
#以上条件为真,将string按照运算符号分割存入number
number=string.split(obj)
#创建list空列表
list=[]
#使用for,构建一个list列表,这个地方append多写了个p
foriinnumber:
list.apppend(i)
#list第一个元素赋值给number1,使用int()方法将字符转换成整数类型。
number1=int(list[0])
#运算符赋值给i
i=obj
#list第二个元素赋值给number2,使用int()方法将字符转换成整数类型。
number2=int(list[1])
#打印,并调用calculator函数,函数代入三个已经定义的参数。
printcalculator(number1,i,number2)
⑤ python中怎么返回指定查找字符的位置
Python编程中对字符串进行搜索查找,并返回字符位置,案例代码如下:
#
#usings.find(sub[,start[,end]])
#以下面test这段文本为例
text=''
##查找上面文本中的SA字符串
search='SA'
start=0
whileTrue:
index=text.find(search,start)
#ifsearchstringnotfound,find()returns-1
#searchiscomplete,breakoutofthewhileloop
ifindex==-1:
break
print("%sfoundatindex%d"%(search,index))
#
start=index+1
//运行结果:
#SAfoundatindex3
#SAfoundatindex31
#SAfoundatindex41
⑥ python 字符串是否包含指定字符
string.find( substr, [start, [end]] )
#返回调用对象中出现substr的第一个字母的标号,如果S中没有substr则返回-1。start和end作用就相当于在S[start:end]中搜索
>>> str = "aaabbbbssssadasd"
>>> str.find("ab")
2
⑦ python简单问题
用到的知识是python的string 类的一个方法,find()和index().
另外,第一行看起来少了一个 “=”。
学习python比其他语言更容易的原因就是写代码和测试很容易,这也是所有脚本语言的优势。
⑧ 问一下python正则表达式find函数的问题!
findall是返回所匹配的字符串,返回的是一个列表,并不返回match对象,match对象才有start,span方法
import re
matchs=re.finditer(r'\w+',"This is a test")
for match in matchs:
print( match.start(),match.span())
想找到所有匹配字符串的索引用finditer吧