python删除字符串中指定位置字符

原程序是这样的:ser=serial.Serial("/dev/ttyAMA0",9600)defmain():whileTrue:#获得接收缓冲区字符count=ser... 原程序是这样的:
ser = serial.Serial("/dev/ttyAMA0", 9600)
def main():
while True:
# 获得接收缓冲区字符
count = ser.inWaiting()
if count != 0:
# 读取内容并回显
count.strip('mp')
recv = ser.read(count)
ser.write(recv)
# 清空接收缓冲区
ser.flushInput()
# 必要的软件延时
time.sleep(0.1)
但这样我接收到的字符是obj_Temp:28.41 ref_Temp:39.24
我只需要返回28.41那个位置的温度值,其它都不需要,该怎么办?
展开
 我来答
最爱尘涑
2018-03-30 · TA获得超过2万个赞
知道小有建树答主
回答量:14
采纳率:100%
帮助的人:3.3万
展开全部

字符串的话,你可以把他当作列表处理:

str = 'hello world' 

如果是想去掉第一个字母'o',并且知道是第5个字符, index=4

1.使用分片 new_str = str[:4]+str[5:] ;

2.循环读取new_str = ''.join([str[i] for i in range(len(str)) if i!= 4]) ;

3.字符替换new_str = str.replace('o','',1) #后面的1代表替换第一个匹配'o'的字符 。

Python(英语发音:/ˈpaɪθən/), 是一种面向对象、解释型计算机程序设计语言,由Guido van Rossum于1989年底发明,第一个公开发行版发行于1991年,Python 源代码同样遵循 GPL(GNU General Public License)协议。Python语法简洁而清晰,具有丰富和强大的类库。它常被昵称为胶水语言,能够把用其他语言制作的各种模块(尤其是C/C++)很轻松地联结在一起。常见的一种应用情形是,使用Python快速生成程序的原型(有时甚至是程序的最终界面),然后对其中有特别要求的部分,用更合适的语言改写,比如3D游戏中的图形渲染模块,性能要求特别高,就可以用C/C++重写,而后封装为Python可以调用的扩展类库。需要注意的是在您使用扩展类库时可能需要考虑平台问题,某些可能不提供跨平台的实现。

waketzheng
推荐于2018-02-27 · TA获得超过644个赞
知道小有建树答主
回答量:566
采纳率:63%
帮助的人:150万
展开全部
>>> import re
>>> s = 'obj_Temp:28.41 ref_Temp:39.24'
>>> a = re.search(r'obj_Temp:([\d.]+)', s)
>>> a.group(1)
'28.41'
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
weiliming002
2016-06-11 · TA获得超过119个赞
知道小有建树答主
回答量:70
采纳率:100%
帮助的人:48.3万
展开全部
>>> a="obj_Temp:28.41 ref_Temp:39.24"
>>> b=a.split()[0].split(':')[1]
>>> b
'28.41'
追问
从串口输入几组数据后报错
list index out of range
追答
报错说明输入的数据格式不一样了.
本回答被网友采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
nicememory
推荐于2017-11-22 · 知道合伙人互联网行家
nicememory
知道合伙人互联网行家
采纳数:326 获赞数:1449
分布式计算技术核心工程师

向TA提问 私信TA
展开全部
采用正则表达式提取需要的字符串。
更多追问追答
追问
具体该怎么改呢?
追答
import re
recv="obj_Temp:28.41 ref_Temp:39.24"
matchobj = re.match(r"^.*obj_Temp:([+|-]?\d*(?:\.\d+)?)(.*)$", recv)
recv = matchobj.group(1)
本回答被提问者采纳
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
黑黑的豆201314
2016-06-14 · TA获得超过584个赞
知道答主
回答量:21
采纳率:0%
帮助的人:8.8万
展开全部
字符串的话,你可以把他当作列表处理:
str = 'hello world'

如果是想去掉第一个字母'o',并且知道是第5个字符, index=4

1.使用分片 new_str = str[:4]+str[5:] ;

2.循环读取new_str = ''.join([str[i] for i in range(len(str)) if i!= 4]) ;

3.字符替换new_str = str.replace('o','',1) #后面的1代表替换第一个匹配'o'的字符 .
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 更多回答(3)
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式