QQ登录

只需一步,快速开始

登录 | 立即注册 | 找回密码

主题

帖子

荣誉

VIP至尊会员

Rank: 15Rank: 15Rank: 15

积分
144
查看: 98|回复: 6

按照要求分割给定的字符串

[复制链接]
最佳答案
1 
累计签到:238 天
连续签到:1 天
安以陌 发表于 2018-1-13 11:41:35 986 | 显示全部楼层 |阅读模式

马上注册加入鱼C,享用更多服务吧^_^

您需要 登录 才可以下载或查看,没有帐号?立即注册

x
字符串信息如下:
1   (D)      0001    element: 1-11-1   1-11-2   1-11-3   1-11-4   1-11-5   1-11-6   
                               1-11-7   1-11-8   1-11-9   1-11-10  1-11-11  1-11-12  
                               1-11-13  1-11-14  1-11-15  1-11-16  1-11-17  1-11-18  
-------------------------------------------------------------------------------------------------------
10  (D)      0010    element: 1-11-1   
                       no-element: 1-11-2   
-------------------------------------------------------------------------------------------------------
100 (D)      0100    element: 1-11-3   
                       no-element: eth1-11-4   
-------------------------------------------------------------------------------------------------------
需要处理成一个列表:
['1   (D)      0001    element: 1-11-1   1-11-2   1-11-3   1-11-4   1-11-5   1-11-6  1-11-7   1-11-8   1-11-9   1-11-10  1-11-11  1-11-12  1-11-13  1-11-14  1-11-15  1-11-16  1-11-17  1-11-18 ','10  (D)      0010    element: 1-11-1 no-element: 1-11-2','100 (D)      0100    element: 1-11-3 no-element: eth1-11-4']
我尝试使用split方法,但是由于原始字符串中\n在每一行后边都有,所以直接split的话,会得到一个10个元素的列表,不是最终我想要的效果。
哪位大神能帮忙看看怎么处理才能实现只要有效元素的列表?
楼层
跳转到指定楼层
最佳答案
86 
累计签到:61 天
连续签到:31 天
°蓝鲤歌蓝 发表于 2018-1-13 12:01:04 | 显示全部楼层
把原始字符串里的 ',' 号去掉能解决你的问题吗?str.replace(',','')
最佳答案
0 
累计签到:9 天
连续签到:1 天
jack_9957 发表于 2018-1-13 12:39:31 | 显示全部楼层
试试这个,老铁
没写全,不过你看一下就知道后面要怎么写了
  1. a='''1   (D)      0001    element: 1-11-1   1-11-2   1-11-3   1-11-4   1-11-5   1-11-6   
  2.                                1-11-7   1-11-8   1-11-9   1-11-10  1-11-11  1-11-12  
  3.                                1-11-13  1-11-14  1-11-15  1-11-16  1-11-17  1-11-18 '''
  4. i = a.split()
  5. j = ""
  6. print(i)
  7. for x in i:
  8.     j+=(x+" ")
  9. print(j)
复制代码
最佳答案
1 
累计签到:238 天
连续签到:1 天
安以陌  楼主| 发表于 2018-1-13 16:34:31 | 显示全部楼层
°蓝鲤歌蓝 发表于 2018-1-13 12:01
把原始字符串里的 ',' 号去掉能解决你的问题吗?str.replace(',','')

原始字符串中没有','啊。。。
最佳答案
1 
累计签到:238 天
连续签到:1 天
安以陌  楼主| 发表于 2018-1-13 16:41:19 | 显示全部楼层
本帖最后由 安以陌 于 2018-1-13 16:42 编辑
jack_9957 发表于 2018-1-13 12:39
试试这个,老铁
没写全,不过你看一下就知道后面要怎么写了


谢谢帮助,我已经解决这个问题了,如下:
原始字符串为return_info
alist = return_info.split('-------------------------------------------------------------------------------------------------------')
blist=[ s.replace('\n','') for s in alist if s.replace('\n','') != '']
最佳答案
26 
累计签到:4 天
连续签到:1 天
yjsx86 发表于 2018-1-13 16:58:03 | 显示全部楼层
本帖最后由 yjsx86 于 2018-1-13 17:27 编辑
  1. import re

  2. S = '''1   (D)      0001    element: 1-11-1   1-11-2   1-11-3   1-11-4   1-11-5   1-11-6   
  3.                                1-11-7   1-11-8   1-11-9   1-11-10  1-11-11  1-11-12  
  4.                                1-11-13  1-11-14  1-11-15  1-11-16  1-11-17  1-11-18  
  5. -------------------------------------------------------------------------------------------------------
  6. 10  (D)      0010    element: 1-11-1   
  7.                        no-element: 1-11-2   
  8. -------------------------------------------------------------------------------------------------------
  9. 100 (D)      0100    element: 1-11-3   
  10.                        no-element: eth1-11-4   
  11. -------------------------------------------------------------------------------------------------------'''

  12. S = S.replace('\n','')
  13. S = re.sub(' {7,}','   ',S)
  14. S = re.findall(r'(\d+ *\(D\).*?)-{2,}',S)
  15. S = [x.strip() for x in S]
  16. print(S)
复制代码


#结果
['1   (D)      0001    element: 1-11-1   1-11-2   1-11-3   1-11-4   1-11-5   1-11-6  1-11-7   1-11-8   1-11-9   1-11-10  1-11-11  1-11-12  1-11-13  1-11-14  1-11-15  1-11-16  1-11-17  1-11-18', '10  (D)      0010    element: 1-11-1  no-element: 1-11-2', '100 (D)      0100    element: 1-11-3  no-element: eth1-11-4']
最佳答案
86 
累计签到:61 天
连续签到:31 天
°蓝鲤歌蓝 发表于 2018-1-14 17:12:27 | 显示全部楼层
安以陌 发表于 2018-1-13 16:34
原始字符串中没有','啊。。。

不好意思,看错了。

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

小甲鱼强烈推荐 上一条 /2 下一条

    移动客户端下载(未启用)
    微信公众号

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备11014136号

Copyright 2018 鱼C论坛 版权所有 All Rights Reserved.

Powered by Discuz! X3.1 Copyright
© 2001-2018 Comsenz Inc.    All Rights Reserved.

小黑屋|手机版|Archiver|鱼C工作室 ( 粤公网安备 44051102000370号 | 粤ICP备11014136号

GMT+8, 2018-1-23 01:59

快速回复 返回顶部 返回列表