python提取字符串中数字
2015-08-07 22:06
435 查看
题目:【这是一个复杂问题的简化】如下是一个字符串列表,提取字符串中第二个数字,并判断是否大于1000,如果是,从列表中删除这一行。
1000\t1002\n
.....【省略】....
代码:
#结果:ok
接下来可继续后续删除操作。
易错点1:对字符串进行strip()后,如果不赋值,字符串内容保持不变。
再举一例:
易错点2:如果
理论上得到1002,事实上是2.原因strip函数用错。
![](http://img.blog.csdn.net/20150809212336090)
解决注释报错:如果文件里有非ASCII字符,需要在第一行或第二行指定编码声明:#coding: utf-8
1000\t1002\n
.....【省略】....
代码:
<pre name="code" class="python">#coding: utf-8 oldStr = "1000\t1002\n" newStr = oldStr #匹配目标数字左侧字符串 t=newStr.index("\t") newStr = newStr.lstrip(newStr[0:t]) newStr = newStr.lstrip("\t") newStr = newStr.rstrip("\n") if int(newStr)>1000: print 'ok' else: print 'sorry'
#结果:ok
接下来可继续后续删除操作。
易错点1:对字符串进行strip()后,如果不赋值,字符串内容保持不变。
>>> newStr.lstrip("\t") '1002\n' >>> newStr.rstrip("\n") '\t1002'
再举一例:
>>> ss="124" >>> ss[0] '1' >>> ss.lstrip(ss[0]) '24' >>> ss[0] #ss[0]保持不变 '1' >>> ss=ss.lstrip(ss[0]) # 赋值之后ss获取新值 >>> ss '24' >>> ss[0] #ss[0]随之改变 '2'
易错点2:如果
newStr = newStr.lstrip(newStr[0:t])结果为"\t1002",改为newStr[0:t+1]
newStr = newStr.lstrip(newStr[0:t+1])
理论上得到1002,事实上是2.原因strip函数用错。
解决注释报错:如果文件里有非ASCII字符,需要在第一行或第二行指定编码声明:#coding: utf-8
相关文章推荐
- Python文件方法
- python 快速排序
- Python字符串操作之字符大小写转换
- python函数式编程
- Python字符串操作之复制、连接、比较、求长度
- Python字符串操作集锦之字符串去空格及去指定字符
- python两个整数和浮点的方法来获取值
- python机器学习库 :matplotlib
- Python简单爬虫
- Python正则表达式速查表
- python 读写csv格式文件
- python3 基本使用多线程
- python编写定时器执行脚本
- 【西祠日志】【18】python渐成主流
- Python IDLE(python GUI)与python(comand line)有什么区别
- 【Python】函数的参数对应
- Python解释器的探讨:第一部分函数对象
- Python解释器的探讨:第一部分函数对象
- 零基础学python-import与from的区别
- 零基础学python-import与from的区别