【python】字符串常用方法

目录

  • find()
  • index()
  • count()
  • startswith()
  • endswith()
  • isalnum()
  • isalpha()
  • isdigit()
  • replace()
  • split()
  • splitlines()
  • strip()
  • title()
  • lower()
  • upper()
  • join()
  • 易错类型转换及切片的应用
    • 1.当双引号中是浮点型时,转换为整型会发生错误。
    • 2.切片


find()

查询指定元素的下标,如果查询的元素不存在,返回-1

str1 = "是微风,是晚霞,是心动不止和无可代替。"

print(str1.find("是"))         # 0
print(str1.find("你"))         # -1
print(str1.find("是", 5, 10))  # 8 范围内进行查询
print(str1.rfind("是"))        # 8 从右往左查询

#执行结果:
0
-1
8
8

index()

查询指定元素的下标,如果查询的元素不存在,则报错:

str1 = "是微风,是晚霞,是心动不止和无可代替。"

print(str1.index("是"))         # 0
print(str1.index("你"))       # ValueError: substring not found
print(str1.index("是", 5, 10))  # 8 范围内进行查询
print(str1.rindex("是"))        # 8 从右往左查询

#执行结果:
0
ValueError: substring not found
8
8

count()

统计元素在字符串中出现的次数

str1 = "是微风,是晚霞,是心动不止和无可代替。"

print(str1.count("是"))  # 3

#执行结果:
3

startswith()

判断字符串以…开头

str1 = "是微风,是晚霞,是心动不止和无可代替。"

print(str1.startswith("是"))  # True

#执行结果:
True

endswith()

判断字符串以…结尾

str1 = "是微风,是晚霞,是心动不止和无可代替。"

print(str1.endswith("。"))  # True

#执行结果:
True

isalnum()

判断字符串里是否都是数字、英文、中文

str1 = "是微风,是晚霞,是心动不止和无可代替。"
text = "是微风 是晚霞 是心动不止和无可代替"
str2 = "abc123"

print(str1.isalnum())  # False
print(text.isalnum())  # True
print(str2.isalnum())  # True

#执行结果:
False
True
True

isalpha()

判断字符串里是否都是英文

str3 = "abc"
str2 = "abc123"

print(str3.isalpha())  # True
print(str2.isalpha())  # False

#执行结果:
True
False

isdigit()

判断字符串里是否都是数字

str4 = "123"
str2 = "abc123"

print(str4.isdigit())  # True
print(str2.isdigit())  # False

#执行结果:
True
False

replace()

replace(替换前,替换后),将括号内的字符串进行替换

str5 = "hello world"

print(str5.replace("world", "python"))  # hello python

#执行结果:
hello python

split()

将元素以指定的元素切割,默认以空格切割。

str5 = "hello world"

print(str5.split())  # ['hello', 'world']

str6 = "abcdabcabc"

print(str6.split("b"))  # ['a', 'cda', 'ca', 'c']

#执行结果:
['hello', 'world']
['a', 'cda', 'ca', 'c']

splitlines()

将字符串按换行符进行切割

str7 = "满天都是星星\n好像一场冻结了的大雨"

print(str7.splitlines())  # ['满天都是星星', '好像一场冻结了的大雨']

#执行结果:
['满天都是星星', '好像一场冻结了的大雨']

strip()

去除字符串两边的空格

str8 = "  可以再浪漫些,日落、晚风和鲜花。  "

print(str8.strip())  # 可以再浪漫些,日落、晚风和鲜花。
print(str8.lstrip())  # 去除左边的空格
print(str8.rstrip())  # 去除右边的空格

#执行结果:
可以再浪漫些,日落、晚风和鲜花。
可以再浪漫些,日落、晚风和鲜花。  
  可以再浪漫些,日落、晚风和鲜花。

title()

每个单词首字母大写

str5 = "hello world"

print(str5.title())  # Hello World

#执行结果:
Hello World

lower()

将字符串变成小写

str9 = "HELLO WORLD"

print(str9.lower())  # hello world

#执行结果:
hello world

upper()

将字符串变成大写

str10 = "hello world"

print(str10.upper())  # HELLO WORLD

#执行结果:
HELLO WORLD

join()

将括号内的序列按照前面双引号中的字符进行拼接

list1 = ['p', 'y', 't', 'h', 'o', 'n']

str1 = "".join(list1)
print(str1)

#执行结果:
python

易错类型转换及切片的应用

1.当双引号中是浮点型时,转换为整型会发生错误。

str11 = "5.5"

int(str11)  # ValueError: invalid literal for int() with base 10: '5.5'

#执行结果:
 ValueError: invalid literal for int() with base 10: '5.5'

2.切片

字符串名[起始值:结束值:步长]

起始值不写,默认从第0个索引开始
结束值不写,默认是整个字符串
步长不写,默认是1

取值范围:左闭右开

str2 = "自由散漫的凉风,能治愈乱糟糟的坏心情。"
print(str2[:7])  # 自由散漫的凉风

print(str2[::-1])       # 。情心坏的糟糟乱愈治能,风凉的漫散由自
print(str2[-1:-10:-1])  # 。情心坏的糟糟乱愈

#执行结果:
自由散漫的凉风
。情心坏的糟糟乱愈治能,风凉的漫散由自
。情心坏的糟糟乱愈

你可能感兴趣的:(python,开发语言)