Python中如何进行字符串处理?代码举例讲解

字符串是Python中最常用的数据类型之一。Python提供了丰富的字符串处理方法,主要有:

1. 检测和转换:

  • str.isdigit() 检测字符串是否只包含数字。
  • str.islower() 检测字符串是否只包含小写字母。
  • str.upper() 转换字符串为大写。
  • str.lower() 转换字符串为小写。
  • str.title() 将字符串的每个单词首字母转换为大写。
    例如:
'string'.isdigit()   # False
'string123'.isdigit() # False 
'123'.isdigit()      # True

'hello'.islower()    # True
'Hello'.islower()    # False

'hello'.upper()      # 'HELLO' 
'HELLO'.lower()      # 'hello'
'hello world'.title() # 'Hello World'

2. 搜索和替换:

  • str.find(sub) 查找子串第一次出现的索引。
  • str.replace(old, new) 替换字符串中的指定子串。
  • re.search(pat, str) 使用正则表达式搜索字符串。
  • re.sub(pat, new, str) 使用正则表达式替换字符串。
    例如:
'hello'.find('l')   # 2
'hello'.replace('l', 'x') # 'hexlox'

import re
re.search('x', 'hello')    # None
re.search('l', 'hello')    # <re.Match object; span=(2, 3), match='l'>
re.sub('l', 'x', 'hello') # 'hexxo'

3. 截取和拆分:

  • str[start:end] 截取字符串的一部分。
  • str.strip() 移除字符串开头和结尾的空格。
  • str.split() 根据分隔符拆分字符串。
    例如:
'hello'[1:3]   # 'el'
'  hello   '.strip()  # 'hello' 

'a,b,c,d'.split(',') # ['a', 'b', 'c', 'd']

4. 格式化:

  • str.format() 格式化字符串。
  • f-string(3.6+)格式化字符串。
    例如:
'{}, {}'.format('hello', 'world')  # 'hello, world'
f'{"hello"}, {"world"}'            # 'hello, world'