Python Split函数升级版
今天实在没啥事干,用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函数升级版相关推荐
- python split()函数
Python split()函数 函数原型: split([char][, num])默认用空格分割,参数char为分割字符,num为分割次数,即分割成(num+1)个字符串 1.按某一个字符分割. ...
- python split函数 空格_python上手--10行代码读懂红楼梦
取名10行代码看懂红楼梦,是将介绍使用python代码来读红楼梦获取其主要人物.这里的思想就是词频统计,通过分析红楼梦小说文字中出现最多的词语,来概括说明红楼梦的核心人物和事情.实际上如果你能跟着往下 ...
- python split()函数
文章目录 1. 简介 2. 语法 2.1 split()函数 2.2 os.path.split()函数 3. demo 3.1 split() demo 3.2 os.path.split() de ...
- python:split()函数
split()函数是对字符串进行分割成列表.格式为:string.split(separator, number) string为要分割的字符串: separator为分割符,可选参数,可以指定分隔符 ...
- python split函数用法 (清晰易懂)
split() 函数,将一个字符串分割成多个子字符串. 其参数split(f,num)) f -- 分隔符,将字符串按照怎样的形式划分,默认为所有的空字符,包括空格,换行等 num -- 按照f分隔符 ...
- python split函数 空格_Python随笔29:Python基础编程练习题23~24
注:本文所有代码均经过Python 3.7实际运行检验,保证其严谨性. Python编程 Python基础练习题23:求三角形斜边上的高 输入直角三角形两直角边a.b的值,输出斜边上的高,最后结果使用 ...
- python split函数 空格_最易懂的Python新手教程:从基础语法到代码详解
导读:本文立足基础,讲解Python和PyCharm的安装,及Python最简单的语法基础和爬虫技术中所需的Python语法. 作者:罗攀 蒋仟 如需转载请联系华章科技 本文涉及的主要知识点如下: P ...
- python split()函数使用
参考: Python String | split() python_split()函数使用方法 功能 通过指定的分隔符将给定字符串拆分为字符串列表. 方法介绍: 语法: str.split(sepa ...
- Python Split函数的用法总结
字符串的split用法 说明: Python中没有字符类型的说法,只有字符串,这里所说的字符就是只包含一个字符的字符串!!! 这里这样写的原因只是为了方便理解,仅此而已. 由于敢接触Python,所以 ...
最新文章
- linux编辑conf文件命令,redhat linux7.3字符模式下: vi ***.conf 文件,又用什么命令才可编辑文件啊!!!!??...
- 自动化办公 Python 操控 Word
- Conan and Agasa play a Card Game
- ITK:重新缩放图像
- C语言 *p++/*(p)++/*(p++)/*p++ - C语言零基础入门教程
- php无法调用shell脚本文件,php调用shell脚本--126错误
- C++课程设计班级管理系统
- 大学计算机ppt制作步骤,PPT制作教程步骤方法_PPT制作技巧教程快捷键_PPT制作基础教程...
- 网络安全管理规章制度
- 飞控算法-姿态解算之互补滤波
- 配置ntpd提供网络授时服务
- 印度软件与信息服务业发展经验及启示
- JavaSE第二阶段之面向对象编程
- 达人评测i51235u和i51135g7哪个好
- mysql如何查看事务日记_Mysql事务和Mysql 日志
- 在xml中定义excel的sheet_XML和Excel
- word文档合并单元格在什么地方
- 二叉树系列(1)-实现排序二叉树
- 为什么有的已备案域名的备案会被注销?
- 【LeetCode】正则表达式匹配