姓名、密码、商品名称、文件内容和接口数据,都离不开字符串。
今天把零散使用过的字符串操作系统整理一遍,学会真正处理文本。
一、索引:读取一个字符
字符串中的每个字符都有位置,索引从 0 开始:
text = "Python"
print(text[0]) # P
print(text[1]) # y
print(text[-1]) # n
负数索引从右侧开始,-1 表示最后一个字符。
二、切片:读取一部分字符串
text = "Python"
print(text[0:3]) # Pyt
print(text[2:]) # thon
print(text[:4]) # Pyth
print(text[::-1]) # nohtyP
切片包含起点,但不包含终点。
text[start:end:step]
第三个位置表示步长,-1 可以用来反转字符串。
三、字符串不能原地修改
下面的代码会报错:
text = "Python"
text[0] = "J"
字符串是不可变类型。如果需要改变内容,要创建一个新字符串:
text = "Python"
new_text = "J" + text[1:]
print(new_text)
四、清理与大小写转换
message = " Hello Python "
print(message.strip())
print(message.lower())
print(message.upper())
print(message.title())
常见用途:
处理用户命令时,经常组合使用:
command = input("请输入命令:").strip().lower()
五、查找、替换与统计
text = "I like Python. Python is useful."
print(text.find("Python"))
print(text.count("Python"))
print(text.replace("Python", "programming"))
find() 找不到内容时返回 -1,也可以使用 in 判断:
if "Python" in text:
print("找到了 Python")
六、拆分与组合
使用 split() 将字符串拆成列表:
data = "苹果,香蕉,橙子"
fruits = data.split(",")
print(fruits)
使用 join() 将列表组合成字符串:
fruits = ["苹果", "香蕉", "橙子"]
result = "、".join(fruits)
print(result)
记忆方法:
七、常用判断方法
print("123".isdigit())
print("Python".isalpha())
print("Python3".isalnum())
print("hello.py".endswith(".py"))
print("Python".startswith("Py"))
这些方法返回 True 或 False,适合输入检查和文件名判断。
基础练习
今日项目:文本分析器
def analyze_text(text):
clean_text = text.strip()
words = clean_text.split()
print("\n======== 分析结果 ========")
print(f"字符数量:{len(clean_text)}")
print(f"单词数量:{len(words)}")
print(f"字母数量:{sum(char.isalpha() for char in clean_text)}")
print(f"数字数量:{sum(char.isdigit() for char in clean_text)}")
print(f"Python 出现次数:{clean_text.lower().count('python')}")
content = input("请输入一段文字:")
analyze_text(content)
sum(char.isalpha() for char in clean_text) 是一种简洁写法:逐个检查字符,True 会按 1 参与求和。暂时看懂作用即可,后面还会系统学习。
查漏测试
- 4.
split() 与 join() 的方向有什么区别?
处理字符串的核心过程通常只有三步:清理、拆分、重新组合。