1.字符串内部使用 " 时,可使用 ' 定义字符串
字符串内部使用 ' 时,可使用 " 定义字符串,一般用 " 定义字符串
2.使用索引获得字符串中指定位置的字符
str = "python string"
print(str[3]) # 提取第4个字符
for str_element in str: # for 循环遍历字符串
print(str_element)
3.len(变量或字符串)函数、 .count(”字符串“)方法、.index(”字符串“)方法
str = "python string is a python string"
print(len(str)) # 返回字符串长度
print(str.count("n")) # 子字符串在大字符串中出现次数
print(str.index("a")) # 子字符串出现的位置
4.字符串中判断类型的方法:(判断是否是数字)
txt = "123"
x = txt.isdecimal() #不能判断小数
x = txt.isdigit() #不能判断小数,可判断unicode字符串
x = txt.isnumeric() #不能判断小数,可判断unicode字符串,可判断汉字数字
5.字符串 查找和替换 的方法:
.replace() 方法返回替换后的字符串,但不改变原有字符串 .index() 方法的区别为 .index() 方法报错 .find() 方法返回 -1
str_string = "python string is a python string"
print(str_string.startswith("python"))
print(str_string.endswith("string"))
print(str_string.find("tr")) # 返回字符所在位置 与 .index() 方法的区别为 .index() 方法报错 .find() 方法返回 -1
print(str_string.index("bc"))
print(str_string.replace("string", "language")) # .replace() 方法返回替换后的字符串,但不改变原有字符串
6.字符串对其方法 .center(width)方法 .ljust(width)方法 . rjust(width) 返回用空格填充的width的新字符串
str_poem = ["登鹳雀楼", # 定义列表
"白居易",
"白日依山尽",
"黄河入海流",
"欲穷千里目",
"更上一层楼"]
for pome_element in str_poem:
print("|%s|" % pome_element.center(10, " "))
7.去除空白字符
pome_element.lstrip() # 去除左边空白字符
pome_element.rstrip() # 去除右边空白字符
pome_element.strip() # 去除两边空白字符
str_poem = ["\t\n登鹳雀楼", # 定义列表
"白居易\t\n"
]
for pome_element in str_poem:
print("|%s|" % pome_element.strip().center(10, " "))
8.字符串 拆分 和 拼接
.split() 方法 可指定分隔符,若不指定分隔符时,以任何空白字符串为分割符,最后返回拆分成的一个列表
str_poem = " \t\n登鹳雀楼 \t\n 白居易\t\n "
print(str_poem.split())
执行结果:
['登鹳雀楼', '白居易']
string.join(seq) 以 string 为分隔符将 seq 中所以元素合并成一个新的字符串
str_poem = " \t\n登鹳雀楼 \t\n 白居易\t\n "
str_list = str_poem.split()
print(str_list)
print(" ".join(str_list))
结果:
['登鹳雀楼', '白居易']
登鹳雀楼 白居易
9.字符串切片 字符串[开始索引:结束索引:步长] 结束索引不包含在切取的字符内 步长为有间隔的切片
- 截取2-5位置的字符串
-
str_num = "0123456789" print(str_num[2:6])
- 截取2-末尾的字符串
-
str_num = "0123456789" print(str_num[2:])
- 截取开始-5位置的字符串
-
str_num = "0123456789" print(str_num[:5])
- 截取完整的字符串
-
str_num = "0123456789" print(str_num[:]) # 和print(str_num) 相同
- 从开始位置,每隔一个字符截取字符串
-
str_num = "0123456789" print(str_num[::2]) # 步长为 2
- 从索引 1 开始每隔一个取一个
-
str_num = "0123456789" print(str_num[1::2])
- 截取从 2 到末尾 -1 位置的字符串
-
str_num = "0123456789" print(str_num[2:-1]) # -1 指最后一个字符
- 截取字符串末尾两个字符
-
str_num = "0123456789" print(str_num[-2:])
- 字符串的逆序
str_num = "0123456789" print(str_num[::-1]) # 逆序,步长设为 -1 ,即 从右向左切 print(str_num[-1::-1]) # 从 -1 位置开始,步长为 -1 效果相同