㈠ python,如何去掉字符串 s = 'values ( e , b )'中,括号里面的空格
你好:
第一:如果都是这样的形式,可以使用slide就是切片;
第二:利用split函数以()分开字符串,然后去掉空格,再组合。
附上,总结的正则表达式:
##总结
##^匹配字符串的开始。
##$匹配字符串的结尾。
##匹配一个单词的边界。
##d匹配任意数字。
##D匹配任意非数字字符。
##x?匹配一个可选的x字符(换言之,它匹配1次或者0次x字符)。
##x*匹配0次或者多次x字符。
##x+匹配1次或者多次x字符。
##x{n,m}匹配x字符,至少n次,至多m次。
##(a|b|c)要么匹配a,要么匹配b,要么匹配c。
##(x)一般情况下表示一个记忆组(rememberedgroup)。你可以利用re.search函数返回对
##象的groups()函数获取它的值。
##正则表达式中的点号通常意味着“匹配任意单字符”
㈡ python:数组里有数字和单词,如何将数字去掉
方法一、利用正则表达式
用法:
##总结##^匹配字符串的开始。##$匹配字符串的结尾。##匹配一个单词的边界。##d匹配任意数字。##D匹配任意非数字字符。##x?匹配一个可选的x字符(换言之,它匹配1次或者0次x字符)。##x*匹配0次或者多次x字符。##x+匹配1次或者多次x字符。##x{n,m}匹配x字符,至少n次,至多m次。##(a|b|c)要么匹配a,要么匹配b,要么匹配c。##(x)一般情况下表示一个记忆组(rememberedgroup)。你可以利用re.search函数返回对象的groups()函数获取它的值。##正则表达式中的点号通常意味着“匹配任意单字符”
[plain]view plain
importre
string=u'127米'
printre.findall(r"d+.?d*",string)
方法二、利用filter(str.isdigit, iterable)
[plain]view plain
string=u'127米'
print(filter(str.isdigit,string))
bug:TypeError: descriptor 'isdigit' requires a 'str' object but received a 'unicode'
原因:string不是str类型
修改为:
[plain]view plain
string=u'127米'
string2=string.encode('gbk')
print(type(str))
print(filter(str.isdigit,string2))
结果:
<type 'str'>127
注意:要提取的字符串不能命名为str,否则会出现TypeError: isdigit() takes no arguments (1 given)
因为str和filter里的str重名了。
㈢ python如何在输入非数字返回错误
可以在接收到数据后判断是否是数字类型。如果不是则给出错误信息或重新输入。
提示用户提供数值输入时,常见的问题是,用户提供的是文本而不是数字。
编写一个程序,提示用户输入两个数字,再将它们相加并打印结果。在用户输入的任何一个值不是数字时都捕获TypeError异常,并打印一条友好的错误消息。对你编写的程序进行测试:先输入两个数字,再输入一些文本而不是数字。
㈣ python 如何将16进制数据字符串去掉0x部分,然后转换成16进制数据写入到文件中
#-*-coding:utf-8-*-
__author__='lpe234'
__date__='2015-04-01'
hex_list=['0xAA','0xED','0xEF','0xDE']
f=file('x.txt','a+')
forxinhex_list:
ifx.startswith('0x'):
x=x[2:]
printx
f.write(x+' ')
f.close()
输出文件:
AA
ED
EF
DE
㈤ python字符串如何去掉英文字母以外的字符
可以利用正则表达式来去除
既然说到了字符串的操作,那么就目前而言是没有别的方法会比正则表达式更加方便的:
正则表达式中代表非字母的写法如下:
[^a-zA-Z]
#code:
㈥ python怎么提取excle表格数据
通过实例来说明,在Excle表格中有数据和文字结合的内容
把Excle表格中的数据,复制——粘贴到word中。
按下ctrl+F键,打开“查找和替换”对话框。点击“替换”标签,在其高级功能下选择“使用通配符”
然后在查找的内容的位置输入:[0-9],替换位置:是空值,不输入任何数据。点击”全部替换“按钮。
点击"全部替换",数据中所有的数字全部删除掉了。
那么,如何提取Excle数据中的非数字部分?也是通过“使用通配符”来实现。
把原来的数据复制到word文档中去,按下ctrl+F键,打开“查找和替换”对话框。点击“替换”标签,在其高级功能下选择“使用通配符”,和上述的步骤一样。
在查找的内容的位置输入:[!0-9],替换位置:是空值,不输入任何数据。点击”全部替换“按钮。
这样,数据中所有的非数字数字全部删除掉了。
这里,介绍一下数据中包含 字符和数字的情况,这里不需要使用通配符功能,也可以通过一种更便捷的方法来实现。(只剩下数字部分的实现方法)
例如,有写好的数据,如图所示:
同样的操作步骤,把原来的数据复制到word文档中去。
按下ctrl+F键,打开“查找和替换”对话框。点击“替换”标签。这里不需要使用通配符功能。
在查找的内容的位置输入:^$,替换位置:是空值,不输入任何数据。点击”全部替换“按钮。
只剩下数字部分的实现方法。
㈦ python使用正则表达式以下为什么会多一个非数字
题主你好,
首先看一下官方文档中关于re库里findall()方法的说明:
最后一句说的是"空匹配也被包含在结果中",这句的意思主要是针对正则中"?"或"{0,1}"或"*","{0,}"等这种会有"0个匹配"的情况.
举例,对于字符串"11"来说:
re.compile('d*')->['11','']
re.compile('d{0,}')->['11','']
re.compile('d?')->['1','1','']
re.compile('d{0,1}')->['1','1','']
可以看到上面的结果中末尾都有空字符串,而像'+','{1,}'这种不包含"0个匹配"的情况,匹配后得到的结果就不会出现空字符串,
还拿字符串"11"举例:
re.compile('d+')->['11']
re.compile('d{1,}')->['11']
希望上面的描述可以帮到题主,欢迎追问
㈧ 请问Python怎么讲输出结果一个整数最前面的0去掉
#coding:utf-8
s=list(input("录入整数"))
s="".join(s[::-1]).lstrip("0")
print(s)
先转换为求组倒序,然后组成字符串去掉左边的0
㈨ Python如何判断录入非数字
用isdigit() 函数判断。可以这样写:if not num1.isdigit() #即:如果num1不是数字。