python |
您所在的位置:网站首页 › 分隔符好看 › python |
文章目录
字符串分割str.partition()str.split()re.split()splitlines()
路径名分割os.path.splitext()os.path.split()
字符串分割
str.partition()
参考:菜鸟教程 python partition() str.partition(str) partition() 方法用来根据指定的分隔符将字符串进行分割。 如果字符串包含指定的分隔符,则返回一个3元的元组,第一个为分隔符左边的子串,第二个为分隔符本身,第三个为分隔符右边的子串。 代码示例: str1 = "E:/code-study/python/test.py" res = str1.partition('.') print(res)执行结果: ('E:/code-study/python/test', '.', 'py') str.split()参考:菜鸟教程 python split() str.split(str="", num=string.count(str)) split() 通过指定分隔符对字符串进行切片,如果参数 num 有指定值,则分隔 num+1 个子字符串。注意使用格式中的str指代字符串。返回分割后的字符串列表。 代码示例: str1 = "E:/code-study/python/test.py" res = str1.split('/') res2 = str1.split('/', 1) print(res) print(res2)分割结果: ['E:', 'code-study', 'python', 'test.py'] ['E:', 'code-study/python/test.py'] re.split()re.split()方法可以一次性分割多个分隔符,返回分割后的列表。 代码示例: import re str = 'runoob,.runoob,.runoob,.' res = re.split(',.', str) print(res)结果: ['runoob', 'runoob', 'runoob', '']还有一种方法是通过正则表达式(参考:菜鸟教程 Ruby正则表达式),如下所示: import re str = 'runoob,.runoob,.runoob,.' res = re.split('\W+', str) print(res)结果也是一样的: ['runoob', 'runoob', 'runoob', '']\W表示非字母字符,+表示重复前面的字符。正则表达式内容比较多,可自行查看。 splitlines()参考:菜鸟教程 python splitlines str.splitlines([keepends]) splitlines() 按照行(’\r’, ‘\r\n’, \n’)分隔,返回一个包含各行作为元素的列表,如果参数 keepends 为 False,不包含换行符,如果为 True,则保留换行符。 代码示例: str1 = "Hello world!\nGood morning!\n" res = str1.splitlines() print(res)运行结果: ['Hello world!', ' Good morning!']这里需要插入一个小插曲,菜鸟教程中给了一个字符串 ‘abc\n\nde fg\rk1\r\n’,打印结果为: abc k1 fg很奇怪对不对,笔者开始也觉得哪里不对。后来研究了一下,原来是因为“\r”不是换行符,是光标调至开头的意思。在打印的时候,因为没有换行,且“k1”打印的时候从开头开始,于是覆盖了之前打印的“de”。 路径名分割 os.path.splitext()os.path.splitext(path) 分割路径,返回路径名和文件扩展名的元组 代码示例: str1 = "E:/code-study/python/test.py" res = os.path.splitext(str1) print(res)结果如下: ('E:/code-study/python/test', '.py')从结果可以看出该函数主要目的是分离文件扩展名。 os.path.split()os.path.split(path) 分割路径,返回一个元组,包含路径名和文件名。 代码示例: str1 = "E:/code-study/python/test.py" res = os.path.split(str1) print(res)分割结果: ('E:/code-study/python', 'test.py') |
今日新闻 |
推荐新闻 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |