本文共 2427 字,大约阅读时间需要 8 分钟。
字符串处理是编程中常见的操作之一,其中split()与join()函数是两大核心工具。下文将从split()入手,详细阐述其用法,并结合实际案例说明在不同场景下的应用。
split()函数用于将一个字符串按照指定的分隔符进行切割,返回一个列表。其基本用法非常简单,但通过灵活配置,能够满足多种实际需求。
num
参数可控制分割次数。若为0,整个字符串视为一个片,返回列表长度为1;若为正整数,则下片数量为num+1
。例如: split('. Amp>> 例子:
"a.b.c".split('.') → ['a', 'b', 'c']"a=b=c".split('=') → ['a', 'b', 'c']
默认分割符分割
"3w.gorly.test.com.cn".split() → ['3w.gorly.test.com.cn']
指定分隔符分割
"3w.gorly.test.com.cn".split('.') → ['3w', 'gorly', 'test', 'com', 'cn']
同理,
"hello...world...!".split('...') → ['hello', 'world', '!']
控制分割次数-完全不分割:
"3w.gorly.test.com.cn".split('.', 0) → ['3w.gorly.test.com.cn']
-仅分割一次:
"a.b.c.d".split('.', 1) → ['a', 'b.c.d']
分割空白
" ".split() → []" this is test ".split() → ['this', 'is', 'test']
假定有一个字符串:
s = "This is a test of string splitting"
s.split() → ['This', 'is', 'a', 'test', 'of', 'string', 'splitting']
s.split(' ') → ['This', 'is', 'a', 'test', 'of', 'string', 'splitting']
需要注意,多个空格会被视为单个分隔符。
os.path.split()用于将路径文件路径与文件名分离,适用于处理文件路径结构。该函数需要导入os模块。
import osos.path.split("d:\test\a.txt") → ('d:', '\test\x07.txt') # 注意路径符号问题os.path.split('d:/test/a.txt') → ('d:/test', 'a.txt')
默认行为是返回一个元组,第一个元素为路径部分,第二个为文件名部分。
路径中使用反斜杠时需要注意转义:
os.path.split("d:\test\a.txt") → ('d:', '\test\x07.txt') # 反斜杠需转义os.path.split('d:\\test\\a.txt') → ('d:\\test', 'a.txt')
建议直接使用斜杠并避免多余转义,以免出错。
join()函数用于将列表中的元素连接成一个字符串。其灵活性在于可以指定任意字符串作为连接符。
默认使用空字符串即可实现字符串连接:
''.join(['a', 'b', 'c']) → 'abc'
指定自定义连接符:
'-'.join('abcd') → 'a-b-d-c-d''-'.join(['a', 'b', 'c']) → 'a-b-c'
字符串处理
本例中,user cautiously avoided any markdown formatting
路径拼接通过join()函数可以将路径部分连接起来:
import osbase = 'd:/test'file = 'a.txt'os.path.join(base, file) → 'd:/test/a.txt'
多语言支持join()在国际化编程中大有用处,例如构建语言切换菜单:
lang = ['en', 'es', 'fr']'/' join(lang) → 'en/es/fr'
split()和join()可以互相调用,例如:
s = 'test'片段提取:first = s.split('"')[1] → 'www.test.com'进一步处理:first.split('.') → ['www', 'test', 'com']
此外,split('\n')可用于处理文本中的换行符:
text = 'hello\nworld\n!'text.split('\n') → ['hello', 'world', '!']
通过灵活配置split()参数,可在文字处理时去除多余符号:
去换行符:text = 'hello world \n! Is this okay?\n'text.split('\n') → ['hello world ', '! Is this okay?']
split()和join()是字符串操作的利器,能够在文本处理、路径处理、数据分析等领域发挥关键作用。在实际工作中,合理运用这两个函数可以显著提高工作效率,提升代码的可维护性。在编写代码前,务必熟悉每个函数的行为细节,避免因参数设置错误导致意外结果。
转载地址:http://ybhhz.baihongyu.com/