在Python编程中,字符串是一种非常基础且重要的数据类型。本文将探讨几个常见但强大的字符串处理方法。
1. 大小写转换
- capitalize()
: 将字符串的第一个字符转换为大写,其余字符转换为小写。
- casefold()
: 将所有字符转换为小写,与lower()
相比,它能更好地处理非英语字符的转换。
2. 字符串替换
- replace('old', 'new')
: 替换字符串中的特定部分,生成新的字符串。
3. 查找子串
- find('sub')
: 查找子串首次出现的位置,如果未找到则返回-1。
- index('sub')
: 功能与find
类似,但如果未找到子串,则会抛出异常。
- count('sub')
: 计算子串在字符串中出现的次数,可以指定搜索范围。
4. 格式化与扩展
- expandtabs(tabsize=8)
: 设置制表位的宽度,默认为8个空格,常用于文本对齐。
- swapcase()
: 切换字符串中所有字符的大小写。
- strip([chars])
: 移除字符串两端的指定字符,默认移除空白字符。
示例代码:
name = 'hhdh dhsdh'
print(name.capitalize()) # 输出: Hhdh dhsdh
print(name.casefold()) # 输出: hhdh dhsdh
name = name.replace('d', 'D')
print(name) # 输出: hhDh Dhsh
print(name.find('h')) # 输出: 2
print(name.index('h')) # 输出: 2
print(name.count('h')) # 输出: 2
print(name.expandtabs(20)) # 输出: hhDh Dhsh
print(name.swapcase()) # 输出: HHdH DHSH
name = ' strip example '
print(name.strip()) # 输出: strip example
# 字符串拼接示例
a = 'string1'
b = 'string2'
c1 = a + b
print(c1) # 输出: string1string2
c2 = '%s%s' % (a, b)
print(c2) # 输出: string1string2
c3 = '{a}{b}'.format(a=a, b=b)
print(c3) # 输出: string1string2
c4 = ''.join([a, b])
print(c4) # 输出: string1string2
# 去除重复字符
a = 'addsfwffdfdf'
a_list = list(a)
set_list = list(set(a_list))
set_list.sort(key=a_list.index)
print(''.join(set_list)) # 输出: adsfw
# 列表转字符串
a = [1, 2, 3, 6, 8, 9, 10, 14, 17]
print(str(a)[1:-1].replace(', ', '')) # 输出: 123689101417