qq_29217127 2021-07-11 18:14 采纳率: 70%
浏览 29
已结题

python的字符串如何按自己指定的格式进行筛选?

例如:

str = "娜娜_二零零-酷我(ERFD)dgfdg国米_山地车-乘除法(ICEX)ifex愤愤然_概念人-维权(LUVD)cisnq框架内_聚合-阿文看(OMNS)cdwcgr"

我想按照:汉字+“_”的方式将这列字符串进行更改,在 汉字+“_”的前面加入回车,以此将这列字符串改成我想要得到样子

经过python处理后可以得到结果:

娜娜_二零零-酷我(ERFD)dgfdg

国米_山地车-乘除法(ICEX)ifex

愤愤然_概念人-维权(LUVD)cisnq

框架内_聚合-阿文看(OMNS)cdwcgr

请问我该如何编码

  • 写回答

1条回答 默认 最新

  • Nick Peng 2021-07-12 02:16
    关注
    str1 = "娜娜_二零零-酷我(ERFD)dgfdg国米_山地车-乘除法(ICEX)ifex愤愤然_概念人-维权(LUVD)cisnq框架内_聚合-阿文看(OMNS)cdwcgr"
    index_li, new_str_li = [], []
    for index, s in enumerate(str1):
        has_zw = re.findall(r'[\u4e00-\u9fa5]', s)
        if has_zw:
            if index and re.findall(r'\b[a-z,A-Z]', str1[index - 1]):
                index_li.append(index)
        if s == str1[-1]:
            index_li.append(index)
    
    for i, x in enumerate(index_li):
        if not i:
            new_str_li.append(str1[:x])
        else:
            new_str_li.append(str1[index_li[i - 1]:x])
    
    print("\n".join(new_str_li))
    
    # 输出
    娜娜_二零零-酷我(ERFD)dgfdg
    国米_山地车-乘除法(ICEX)ifex
    愤愤然_概念人-维权(LUVD)cisnq
    框架内_聚合-阿文看(OMNS)cdwcg
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 9月27日
  • 已采纳回答 9月19日
  • 创建了问题 7月11日

悬赏问题

  • ¥15 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题