Ⅰ python startwith 怎么用
是startswith不是startwith。这是一个字符串搜索函数。判断一个字符串是否以某某开头。
你可以使用find(某某)==0完成相同的功能。不过startswith的可读性更强,更容易阅读。
相对应的就有endswith的函数,也是为了增强可读性用的。
Ⅱ python 请问怎么找出以$开头的字符串,该字符串后面可能是接()+——*/=或是空字符
根据一般变量的命名规则写了下面的程序
import re
expression="$a+$b-($c/$d) = $abc"
matchs=re.findall(r"(?<=\$)[a-z0-9]\w*",expression,re.I)
print matchs
结果是包括所有变量名字符串的列表
Ⅲ python 正则表达式,怎样匹配以某个字符串开头,以某个字符串结尾的情况
匹配以某个字符串开头,以某个字符串结尾的情况的正则表达式:^abc.*?qwe$
Python正则表达式的几种匹配用法:
1.测试正则表达式是否匹配字符串的全部或部分
regex=ur""#正则表达式
ifre.search(regex,subject):
do_something()
else:
do_anotherthing()
2.测试正则表达式是否匹配整个字符串
regex=ur"/Z"#正则表达式末尾以/Z结束
ifre.match(regex,subject):
do_something()
else:
do_anotherthing()
3.创建一个匹配对象,然后通过该对象获得匹配细节(Create an object with details about how the regex matches (part of) a string)
regex=ur""#正则表达式
match=re.search(regex,subject)
ifmatch:
# match start:match.start()
# match end(exclusive):atch.end()
# matched text:match.group()
do_something()
else:
do_anotherthing()
4.获取正则表达式所匹配的子串(Get the part of a string matched by the regex)
regex=ur""#正则表达式
match=re.search(regex,subject)
ifmatch:
result=match.group()
else:
result=""
5. 获取捕获组所匹配的子串(Get the part of a string matched by a capturing group)
regex=ur""#正则表达式
match=re.search(regex,subject)
ifmatch:
result=match.group(1)
else:
result=""
6. 获取有名组所匹配的子串(Get the part of a string matched by a named group)
regex=ur"" #正则表达式
match = re.search(regex, subject)
if match:
result = match.group"groupname")
else:
result = ""
7. 将字符串中所有匹配的子串放入数组中(Get an array of all regex matches in a string)
result=re.findall(regex,subject)
8.遍历所有匹配的子串(Iterate over all matches in a string)
formatchinre.finditer(r"<(.*?)/s*.*?//1>",subject)
# match start:match.start()
# match end(exclusive):atch.end()
# matched text:match.group()
9.通过正则表达式字符串创建一个正则表达式对象(Create an object to use the same regex for many operations)
reobj=re.compile(regex)
10.用法1的正则表达式对象版本(use regex object for if/else branch whether (part of) a string can be matched)
reobj=re.compile(regex)
ifreobj.search(subject):
do_something()
else:
do_anotherthing()
11.用法2的正则表达式对象版本(use regex object for if/else branch whether a string can be matched entirely)
reobj=re.compile(r"/Z")#正则表达式末尾以/Z 结束
ifreobj.match(subject):
do_something()
else:
do_anotherthing()
12.创建一个正则表达式对象,然后通过该对象获得匹配细节(Create an object with details about how the regex object matches (part of) a string)
reobj=re.compile(regex)
match=reobj.search(subject)
ifmatch:
# match start:match.start()
# match end(exclusive):atch.end()
# matched text:match.group()
do_something()
else:
do_anotherthing()
13.用正则表达式对象获取匹配子串(Use regex object to get the part of a string matched by the regex)
reobj=re.compile(regex)
match=reobj.search(subject)
ifmatch:
result=match.group()
else:
result=""
14.用正则表达式对象获取捕获组所匹配的子串(Use regex object to get the part of a string matched by a capturing group)
reobj=re.compile(regex)
match=reobj.search(subject)
ifmatch:
result=match.group(1)
else:
result=""
15.用正则表达式对象获取有名组所匹配的子串(Use regex object to get the part of a string matched by a named group)
reobj=re.compile(regex)
match=reobj.search(subject)
ifmatch:
result=match.group("groupname")
else:
result=""
16.用正则表达式对象获取所有匹配子串并放入数组(Use regex object to get an array of all regex matches in a string)
reobj=re.compile(regex)
result=reobj.findall(subject)
17.通过正则表达式对象遍历所有匹配子串(Use regex object to iterate over all matches in a string)
reobj=re.compile(regex)
formatchinreobj.finditer(subject):
# match start:match.start()
# match end(exclusive):match.end()
# matched text:match.group()
Ⅳ Python中字符串无法使用endswith()函数怎么办
Python中字符串无法使用endswith函数,先从错误信息仔细看起,找到对应的位置改代码。
根据错误信息反馈可知:在文件 "c: UsersABC11DesktopPython工具数字读作.py" 中的第42行的语句if str( intn_).endswith(00):出错,其错误类型是数据类型错误: endswith的参数必须是一个字符串或者一个字符串的tuple元组而非int。
所以,需要根据错误信息把第42行代码改成if str( intn_).endswith("00"),当然根据代码的功能判断,错误远不止这一个:以下试图一一指出(此外,python的代码的缩进是必须的语法结构的部分,和C语言C++Java什么的是很不一样的,尽量截图python,不要直接复制粘贴,空格一被吞代码就难看了)
以下列举错误(从前往后):
①逻辑设计错误,在代码的前部,input函数读入的是字符串,num=float(input());语句将读入的字符串变成浮点数,然后却又把float类型的num变量使用str函数转换类型赋值给num_。这样做没有语法问题,只是逻辑不通:str转换成float再转换回str,是否多此一举呢;再者即使输入是整数不带小数点,经过str(float(input()))处理之后,结果一定会被加上小数点,那后面的if point==None:这一条件分支就完全不运行,你可以用一段小代码验证这一问题
64-73行修改后的代码
Ⅳ python问题
用startswith()方法判断一下即可
完整的Python程序如下
a=101234567890123
ifstr(a).startswith("10"):
print(1)
elifstr(a).startswith("20"):
print(2)
elifstr(a).startswith("30"):
print(3)
运行结果
1
Ⅵ python报错提示AttributeError: 'QString' object has no attribute 'startswith'
关键代码截图来看一下
Ⅶ python 的startswith和endswith怎么实现的啊,找到了py文件,但是里面居然
为了回答你这个问题我专门把python源码(github python/cpython)下载来搜了下。
首先可以确定是C语言实现的,所以在IDE只能看到声明。
然后搜索:find . -type f -name '*.c' |xargs grep -s 'startswith'
可以看到
./Objects/bytesobject.c:bytes_startswith(PyBytesObject *self, PyObject *args)
staticPyObject*
bytes_startswith(PyBytesObject*self,PyObject*args)
{
return_Py_bytes_startswith(PyBytes_AS_STRING(self),PyBytes_GET_SIZE(self),args);
}
PyObject*
_Py_bytes_startswith(constchar*str,Py_ssize_tlen,PyObject*args)
{
return_Py_bytes_tailmatch(str,len,"startswith",args,-1);
}
/*Matchestheend(direction>=0)orstart(direction<0)ofthebuffer
*againstsubstr,usingthestartandendarguments.Returns
*-1onerror,0ifnotfoundand1iffound.
*/
staticint
tailmatch(constchar*str,Py_ssize_tlen,PyObject*substr,
Py_ssize_tstart,Py_ssize_tend,intdirection)
{
Py_buffersub_view={NULL,NULL};
constchar*sub;
Py_ssize_tslen;
if(PyBytes_Check(substr)){
sub=PyBytes_AS_STRING(substr);
slen=PyBytes_GET_SIZE(substr);
}
else{
if(PyObject_GetBuffer(substr,&sub_view,PyBUF_SIMPLE)!=0)
return-1;
sub=sub_view.buf;
slen=sub_view.len;
}
ADJUST_INDICES(start,end,len);
if(direction<0){
/*startswith*/
if(start+slen>len)
gotonotfound;
}else{
/*endswith*/
if(end-start<slen||start>len)
gotonotfound;
if(end-slen>start)
start=end-slen;
}
if(end-start<slen)
gotonotfound;
if(memcmp(str+start,sub,slen)!=0)
gotonotfound;
PyBuffer_Release(&sub_view);
return1;
notfound:
PyBuffer_Release(&sub_view);
return0;
}
Ⅷ python 正则表达式中怎么提取并修改已匹配到的字符串
#-*-coding:utf-8-*-
__author__='lpe234'
__date__='2014-11-16'
text="""
Ihadnorealhome,nomoney,nojob,andnofriendsthatcared.
.
"""
defmain():
globaltext
text_list=text.split()
forindex,wordinenumerate(text_list):
word=word.lower()
ifword.startswith('a'):
text_list[index]=word+'hey'
text=''.join(text_list)
printtext
if__name__=='__main__':
main()
and the results:
C:Python27python.exeD:/ofshion_min_spider/scrapper/djangoo/find_a.py
Ihadnorealhome,nomoney,nojob,andheynofriendsthatcared..
Processfinishedwithexitcode0
Ⅸ 求问python的问题! def count_startswith(L, ch): ""
它那个写法和你这个写法是一个意思的,因为startwith函数本身就返回一个bool值,append的那一行一定要有缩进,放在if语句下面才可以。
Ⅹ python输出有误,出现AttributeError: 'NoneType' object has no attribute 'startswith'
你的错误提示并没有看到具体是代码中哪一行,但从提示来看,是因为某个对象没有正常获得数据,他们值是一个None,所以需要提前对color进行检测。