今天实在没啥事干,用Python写了个splitstr函数,就是将内置函数优化了一下...

添加了splitmode、remove_empty_char、sortword、setword这四个功能

直接上代码!!!

def splitstr(masterstr,substr=' ',amount=-1,splitmode=None,rm_empty_char=True,sortword=False,setword=False):if masterstr[-1] != substr:masterstr += substr         # 判断最后一位是否为substr,如果不是将masterstr添加substr,以截取最后一个nowsplitwordsplit_list = []last_search_pos = 0num = 0 if amount != -1 else -1 # 判断num的值,如果amount是-1的话(即截取全部)不用设置substr_pos = masterstr.find(substr,last_search_pos)while substr_pos != -1 and (num < amount if num != -1 else True):nowsplitword = masterstr[last_search_pos:last_search_pos+substr_pos-last_search_pos]last_search_pos =  substr_pos+len(substr)substr_pos =  masterstr.find(substr,last_search_pos)if num != -1:num += 1                # 判断num的值,如果amount是-1的话(即截取全部)不用自加if rm_empty_char and nowsplitword == '':      # 判断nowsplitword是否为空(即判断两个及以上的substr在一起会产生空格的情况),如果是:continuecontinueif splitmode == None:       # splitmode分为None、Title、Lower、Uppersplit_list.append(nowsplitword)elif splitmode == 't':split_list.append(nowsplitword.title())elif splitmode == 'l':split_list.append(nowsplitword.lower())elif splitmode == 'u':split_list.append(nowsplitword.upper())if num != -1:surplus = masterstr[last_search_pos:-1]split_list.append(surplus)if setword == True:split_list = list(set(split_list))if sortword == True:split_list.sort()return split_list

调用这个函数:

str1 = "Hello Python World ! Life is short , I use Python !"
str2 = "Hello_Python_World_!_Life_is_short_,_I_use_Python_!"
str3 = "Hello!Python!World!!Life!is!short!,!!I use Python!!"print(splitstr(str1))
# ['Hello', 'Python', 'World', '!', 'Life', 'is', 'short', ',', 'I', 'use', 'Python', '!']print(splitstr(str2,'_'))
# ['Hello', 'Python', 'World', '!', 'Life', 'is', 'short', ',', 'I', 'use', 'Python', '!']print(splitstr(str1,amount=6))
# ['Hello', 'Python', 'World', '!', 'Life', 'is', 'short , I use Python !']print(splitstr(str1,splitmode='t'))
print(splitstr(str1,splitmode='l'))
print(splitstr(str1,splitmode='u'))
# ['Hello', 'Python', 'World', '!', 'Life', 'Is', 'Short', ',', 'I', 'Use', 'Python', '!']
# ['hello', 'python', 'world', '!', 'life', 'is', 'short', ',', 'i', 'use', 'python', '!']
# ['HELLO', 'PYTHON', 'WORLD', '!', 'LIFE', 'IS', 'SHORT', ',', 'I', 'USE', 'PYTHON', '!']print(splitstr(str3,'!',rm_empty_char=False))
# ['Hello', 'Python', 'World', '', 'Life', 'is', 'short', ',', '', 'I use Python', '']print(splitstr(str1,sortword=True))
# ['!', '!', ',', 'Hello', 'I', 'Life', 'Python', 'Python', 'World', 'is', 'short', 'use']print(splitstr(str1,setword=True))
# ['World', 'Python', 'I', 'is', 'use', 'short', ',', 'Hello', 'Life', '!']

代码效果就是这样啦,如果有改进的地方请私信给我,不喜欢勿喷...

代码下载链接:PythonPyFOL之Split函数(Python内置Split函数优化升级版)-数据集文档类资源-CSDN下载

Python Split函数升级版相关推荐

  1. python split()函数

    Python split()函数 函数原型: split([char][, num])默认用空格分割,参数char为分割字符,num为分割次数,即分割成(num+1)个字符串 1.按某一个字符分割. ...

  2. python split函数 空格_python上手--10行代码读懂红楼梦

    取名10行代码看懂红楼梦,是将介绍使用python代码来读红楼梦获取其主要人物.这里的思想就是词频统计,通过分析红楼梦小说文字中出现最多的词语,来概括说明红楼梦的核心人物和事情.实际上如果你能跟着往下 ...

  3. python split()函数

    文章目录 1. 简介 2. 语法 2.1 split()函数 2.2 os.path.split()函数 3. demo 3.1 split() demo 3.2 os.path.split() de ...

  4. python:split()函数

    split()函数是对字符串进行分割成列表.格式为:string.split(separator, number) string为要分割的字符串: separator为分割符,可选参数,可以指定分隔符 ...

  5. python split函数用法 (清晰易懂)

    split() 函数,将一个字符串分割成多个子字符串. 其参数split(f,num)) f -- 分隔符,将字符串按照怎样的形式划分,默认为所有的空字符,包括空格,换行等 num -- 按照f分隔符 ...

  6. python split函数 空格_Python随笔29:Python基础编程练习题23~24

    注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python编程 Python基础练习题23:求三角形斜边上的高 输入直角三角形两直角边a.b的值,输出斜边上的高,最后结果使用 ...

  7. python split函数 空格_最易懂的Python新手教程:从基础语法到代码详解

    导读:本文立足基础,讲解Python和PyCharm的安装,及Python最简单的语法基础和爬虫技术中所需的Python语法. 作者:罗攀 蒋仟 如需转载请联系华章科技 本文涉及的主要知识点如下: P ...

  8. python split()函数使用

    参考: Python String | split() python_split()函数使用方法 功能 通过指定的分隔符将给定字符串拆分为字符串列表. 方法介绍: 语法: str.split(sepa ...

  9. Python Split函数的用法总结

    字符串的split用法 说明: Python中没有字符类型的说法,只有字符串,这里所说的字符就是只包含一个字符的字符串!!! 这里这样写的原因只是为了方便理解,仅此而已. 由于敢接触Python,所以 ...

最新文章

  1. linux编辑conf文件命令,redhat linux7.3字符模式下: vi ***.conf 文件,又用什么命令才可编辑文件啊!!!!??...
  2. 自动化办公 Python 操控 Word
  3. Conan and Agasa play a Card Game
  4. ITK:重新缩放图像
  5. C语言 *p++/*(p)++/*(p++)/*p++ - C语言零基础入门教程
  6. php无法调用shell脚本文件,php调用shell脚本--126错误
  7. C++课程设计班级管理系统
  8. 大学计算机ppt制作步骤,PPT制作教程步骤方法_PPT制作技巧教程快捷键_PPT制作基础教程...
  9. 网络安全管理规章制度
  10. 飞控算法-姿态解算之互补滤波
  11. 配置ntpd提供网络授时服务
  12. 印度软件与信息服务业发展经验及启示
  13. JavaSE第二阶段之面向对象编程
  14. 达人评测i51235u和i51135g7哪个好
  15. mysql如何查看事务日记_Mysql事务和Mysql 日志
  16. 在xml中定义excel的sheet_XML和Excel
  17. word文档合并单元格在什么地方
  18. 二叉树系列(1)-实现排序二叉树
  19. 为什么有的已备案域名的备案会被注销?
  20. 【LeetCode】正则表达式匹配

热门文章

  1. 最全的网络硬盘(免费)
  2. Kdapi 快递鸟 物流接口
  3. 淘宝网采用什么技术架构来实现网站高负载
  4. 各数据库系统独有函数
  5. 艺术|油画|欣赏| 遥想当年赤壁
  6. 黑屏助手V1.0(本本不能手动关闭显示器?不想屏保?)
  7. SpreadJS轻松实现类Excel报表设计,轻松实现线下线上数据平滑迁移!
  8. Flink 远程调试
  9. 个人记录lingo的学习
  10. HDRI/IBL的一些想法