python字符串常用方法

说明

详细参见:https://www.runoob.com/python/python-strings.html

查找

string.find(str, beg=0, end=len(string))

参数:

  • str — 指定检索的字符串
  • beg — 开始索引,默认为0。
  • end — 结束索引,默认为字符串的长度。

返回值:
如果包含子字符串返回开始的索引值,否则返回-1。

例子

找到这句话的书名:李雷喜欢《水浒传》里面的武松

text='李雷喜欢《水浒传》里面的武松'
startPos=text.find("《")
endPos=text.find("》")

print(text[startPos+1:endPos])

替换

string.replace(str1, str2,  num=string.count(str1))

参数:

  • old — 将被替换的子字符串。
  • new — 新字符串,用于替换old子字符串。
  • max — 可选字符串, 替换不超过 max 次

返回值
返回字符串中的 old(旧字符串) 替换成 new(新字符串)后生成的新字符串,如果指定第三个参数max,则替换不超过 max 次。

例子

在 文本编辑器中,几乎都有替换的功能,python实现如下:

text="李雷喜欢干游戏、干饭"

text=text.replace("李雷","韩梅梅")

print(text)

拆分

string.split(str="", num=string.count(str))

参数

  • str — 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。
  • num — 分割次数。默认为 -1, 即分隔所有。

返回值
返回分割后的字符串列表。

例子

有下面字符串:

'李雷、韩梅梅、lucy、lili'

实现下面功能:

  1. 分别打印出人名
  2. 通过编程算出有几个人?

分析:人名是根据 、 间隔的,可以使用 split() 方法拆分字符串

s = '李雷、韩梅梅、lucy、lili'

l = s.split("、")

for item in l:
    print(item)

print(l)
count = len(l)
print(count)

移除字符串前后的空格、tab符号

string.strip([obj])

参数

  • chars — 移除字符串头尾指定的字符序列。

返回值
返回移除字符串头尾指定的字符生成的新字符串。

例子

print("   abc  ".strip())

不足位数前面填充0

string.zfill(width)

参数

  • width — 指定字符串的长度。原字符串右对齐,前面填充0。

返回值
返回指定长度的字符串。

例子

生成流水号、显示金额时,不足位数,前面要补0

for num in range(15):
    print(str(num).zfill(2))

判断以某字符串开头

str.startswith(str, beg=0,end=len(string));

参数:

  • str — 检测的字符串。
  • strbeg — 可选参数用于设置字符串检测的起始位置。
  • strend — 可选参数用于设置字符串检测的结束位置。

返回值:

  • 如果检测到字符串则返回True,否则返回False。

例子

判断是否姓李

name="李雷"
print(name.startswith("李"))

判断以某字符串结尾

string.endswith(obj, beg=0, end=len(string))

参数

  • suffix — 该参数可以是一个字符串或者是一个元素。
  • start — 字符串中的开始位置。
  • end — 字符中结束位置。

返回值
如果字符串含有指定的后缀返回True,否则返回False。

例子

判断文件名后缀

name="1.jpg"
print(name.endswith(".jpg"))

原文出处:/show_1IXtF4Th0xV.html