美文网首页
Python 切割/分隔多空格的英文字符串

Python 切割/分隔多空格的英文字符串

作者: 黑鼠_DEAN | 来源:发表于2018-06-17 09:49 被阅读0次

前言

许多朋友在使用python的时候,经常会碰到各种各样的字符串切割问题。最简单固定字符切割的使用split能轻松搞定,但是往往碰到复杂就无从下手了,有时候明知道要使用正则表达式,可就是不知道如何写。
这几天帮兄弟做个小程序,刚好也同样碰到了这个问题,经过一番研究之后,终于搞定。这里将解决思路记录下来,也希望能够帮到大家。
喜欢的就点个赞吧!^_^

故事

一个不懂电脑的小白老外,在EXCEL表格中喜欢用多个空格作为分隔(佩服它敲空格的那股劲)可他这么操作硬是让我头疼了一会,今天在这里把方法记录写来方便日后使用。
首先我们来看看多空格的英文字符串长啥样 : )

   ANNO METAL          5/16-NOIR            1 ROLL 

期望变成这样(如下):单词之间的空格不丢失,能够将多空格作为分隔符

   ANNO METAL|5/16-NOIR|1 ROLL|

思路

  1. 非特定空格数量,所以毫无疑问使用正则表达式;
  2. 正则表达式切割是按单字符匹配的,所以无法之间用来切割字符串;
  3. 将匹配到的字符串替换为特定字符,然后再切割;
  4. 特定字符,不能和字符串常见字符重合,所以选择 |字符;

写法

        # 原始字符串
        desc = "ANNO METAL            5/16-NOIR           1 ROLL"
        #替换多个空格为'|'
        desc = re.sub("\s\s+","|",desc)
        #以'|'字符切割字符串
        data = desc.split("|")

正则表达式说明:
\s:匹配任何不可见字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v]
>+:匹配前面的子表达式一次或多次
\s\s+ :即两个空格以上的字符串(这里这样写包含非可见字符,怕那小白老外用TAB键,这样切割就异常了。

输出

   [u'ANNO METAL', u'5/16-NOIR', u'1 ROLL', u'']

相关文章

  • Python 切割/分隔多空格的英文字符串

    前言 许多朋友在使用python的时候,经常会碰到各种各样的字符串切割问题。最简单固定字符切割的使用split能轻...

  • 小程序、js智能拆分姓名、电话号码、地址信息

    用法:以下格式均可准确判断。分隔符可为逗号(中|英文),分号(中|英文),顿号,空格等字符串前面、后面有空格、换行...

  • 字符串拼接

    标签(空格分隔): java StringBuilder——字符串拼接多般是使用StringBuilder类,以及...

  • python3笔记(002)----函数嵌套、filter()函

    python笔记002----函数嵌套、filter()函数、一行输入多个整数(空格分隔)、多维列表的输入 字符串...

  • 字符串和文本(cookbook笔记)

    字符串和文本 针对任意多的分隔符拆分字符串 字符串中由多种不同的分隔符,也包括空格 字符串开头或结尾文本匹配 使用...

  • 第二章:字符串和文本

    1.针对任意多的分隔符拆分字符串 问题:我们需要将字符串拆分为不同的字段,但是分隔符(以及分隔符之间的空格)在整个...

  • Python Cookbook笔记

    Python Cookbook 标签(空格分隔): Python Data Structures and Algo...

  • Fluent系列3

    Fluent Python Notebook Part Three 标签(空格分隔): Python Object...

  • Flask

    FLASK 标签(空格分隔): python flask web [TOC] 计划 [ ] python学习 [ ...

  • FCC-Binary Agents

    传入二进制字符串,翻译成英语句子并返回。二进制字符串是以空格分隔的。 传入的字符以空格分隔,所以先以空格拆分为数组...

网友评论

      本文标题:Python 切割/分隔多空格的英文字符串

      本文链接:https://www.haomeiwen.com/subject/ipnieftx.html