python-字符串操作

字符串操作

1.定义

(1.)用引号引起来的数据

str1 = "python"
str2 = 'linux'
str3 = """linux
windows
mac"""

print(type(str1),type(str2),type(str3))

(2.)原始字符串

作用:避免特殊字符串被转义,在字符串前加 r,表示 raw

file_name = r"d:dirlogo.jpg"
print(file_name)

2.字符串操作符

(1.)拼接 +

str1 = "python"
str2 = "linux"
print(str1 + str2)

(2.) 重复 *

print("python" * 3)   # python重复三次

(3.)len() 字符串长度

print(len("python"))

(4.) 判断成员关系

in 和 not in

print("py" in "python")   # True
print("py" not in "python")  # False
print("hn" in "python")  # false

(5.)索引

str = "python"
print(str[2])
print(str[-1])

(6.) 切片

字符串 [起始下标:终止下标]

str = "python"
print(str[0:3])
print(str[1:]) # 1-最后
print(str[-2:])  # 从倒数第二位到最前面
print(str[1:4:2])  # 截取第一位到第四位,步长为2
print(str[::-1])  # 字符串翻转

字符串为不可变变量,如果需要修改字符串中的某个字符,需要通过拼接来实现。

# 错误
str = "python"
str[2] = "K"  # 错误,字符串不可改变
print(str)
----------------------------------
# 正确
str = "python"
new_str = str[0:2]+"K"+str[3:]
print(new_str)

3.字符串对象的操作

通过dir()内置函数查看对象的操作方法

print(dir(str))
print(dir(int))

(1.) 大小写转化

data = "pYthon"
print(data.capitalize) # 查看容量
print(data.upper()) # 转化为大写字符
print(data.lower())  # 转化为小写字符

(2.) 判断字符串的组成结果

print("abc".isalpha()) # 判断是否为字母
print("abc?".isalpha()) # 返回False
print("123".isdigit()) # 是否为数字
print("abc123".isalnum()) # 是否为数字和字母
print("abc".islower()) # 是否为小写
print("ABC".isupper()) # 是否为大写字母

(3.) 判断字符串开头、结尾

print("python".startswith("py"))  # 开头
print("python".endswith("n")) # 结尾

(4.)去除指定的字符

# 默认去除空白字符
print("   python    ".strip())
print("   python   ".lstrip())
--------------------------------------------
print("ApythonA".strip("A")) # 去除前后两边的字符
print("ApythonA".lstrip("A")) # 去除左侧的字符
print("ApythonA".rstrip("A")) # 去除右侧的字符

(5.) 分割字符串

#split()方法进行分割,默认以空白紫芙蓉进行分割
data = "python golang    shell"
print(data.split())
print(data.split()[1])  # 分割后为数组
------------------------------------------
splitlines()
# 默认以换行符进行分割
data = """python
golang
shell
java"""
print(data.splitlines())

(6.) 计数

# count()统计
data = "hello python"
print(data.couont("o"))

(7.) 替换

# replace()
data = "python"
print(data.replace("h","M")) # 字符串替换

(8.) 字符串遍历

data = "python"
for i in data:
	print("%s" % i)

示例:生成10的随机字符,要求包含字母、数字、特殊字符

import random
import string
all = string.ascii_letter + strings.digits + string.punctuation
data = ""
for i in range(10):
    data = random.choice(all) + data
print(data)

示例二:统计文本行数和单词数

data = """helal asdfjl asfjl aaa aaa bbb
bbb ccc dd
fff"""
# 统计行数
print(len(data.splitlines()))
# 统计单词数
print(len(data.split()))
【励志篇】: 古之成大事掌大学问者,不惟有超世之才,亦必有坚韧不拔之志。
原文地址:https://www.cnblogs.com/tomtellyou/p/15488815.html