创作不易,还请各位同学三连点赞!!收藏!!转发!!!

对于刚入门学习Python还找不到方向的小伙伴可以试试我的这份学习方法和籽料,免费自取!!

1. 初识字符串

Python中的字符串是不可变序列类型,非常适合文本处理。创建字符串很简单,用单引号、双引号或三引号。

s = "Hello, World!"
print(s)  # 输出: Hello, World!

技巧1: 使用三引号可以方便地创建多行字符串。

multi_line = """这是
一行
多行字符串"""
print(multi_line)

2. 字符串拼接

直接使用 + 可以拼接字符串,但频繁使用可能效率不高。

技巧2: 使用 join() 方法更高效。

parts = ["Hello", ", ", "World", "!"]
message = ''.join(parts)
print(message)  # 输出: Hello, World!

3. 字符串重复

重复字符串时,直接乘以数字。

技巧3:

repeated = "Ha" * 3
print(repeated)  # 输出: HaHaHa

4. 访问与切片

字符串可以通过索引访问单个字符,使用切片获取子字符串。

技巧4: 切片操作。

word = "Python"
print(word[0])  # 输出: P
print(word[1:4])  # 输出: yth

5. 遍历字符串

使用循环遍历字符串中的每个字符。

技巧5:

for char in word:
    print(char, end=" ")

6. 字符串长度

使用 len() 函数获取字符串长度。

技巧6:

length = len(word)
print(length)  # 输出: 6

7. 检查子字符串

使用 in 或 not in 操作符检查子字符串是否存在。

技巧7:

if "th" in word:
    print("Yes, 'th' is there.")

8. 字符串分割

使用 split() 分割字符串成列表。

技巧8:

sentence = "First, Second, Third"
parts = sentence.split(", ")
for part in parts:
    print(part)

9. 格式化字符串

f-string(自Python 3.6起)提供了更直观的字符串格式化方式。

技巧9:

name = "Alice"
age = 30
print(f"My name is {name} and I am {age} years old.")

10. 替换字符串

使用 replace() 替换字符串中的部分。

技巧10:

new_sentence = sentence.replace("Third", "Fourth")
print(new_sentence)

11. 去除字符串两侧空白

strip()lstrip()rstrip() 分别去除两侧、左侧、右侧空白。

技巧11:

s = "   Hello   "
print(s.strip())  # 输出: Hello

12. 大小写转换

upper()lower()capitalize() 等用于文本大小写转换。

技巧12:

mixed_case = "PyTHON"
print(mixed_case.lower())  # 输出: python

13. 查找与索引

使用 find() 或 index() 查找子字符串,index() 会抛出异常如果子字符串不存在。

技巧13:

position = word.index("th")  # 注意:如果未找到会抛出异常
print(position)  # 输出: 1

14. 列表转字符串

使用 join() 方法将字符列表合并为字符串。

技巧14:

char_list = ['P', 'y', 't', 'h', 'o', 'n']
string_back = ''.join(char_list)
print(string_back)

15. 正则表达式

对于复杂的文本处理,引入 re 模块进行正则匹配。

技巧15:

import re
text = "Email: example@example.com"
email = re.search(r'\b[A-Za-z0-9._%+-]+@[A-Za-z0-9.-]+\.[A-Z|a-z]{2,}\b', text)
if email:
    print(email.group())

16. 使用列表推导式与字符串

结合列表推导式可以高效地处理字符串数组。

高级技巧16:

words = ["apple", "banana", "cherry"]
capitalized = [word.capitalize() for word in words]
print(capitalized)  # 输出: ['Apple', 'Banana', 'Cherry']

17. 利用 join() 和生成器表达式

生成器表达式在内存效率上优于列表推导式,特别适合大字符串处理。

高级技巧17:

long_string = " ".join(word.upper() for word in words if len(word) > 5)
print(long_string)

18. 字符串的格式对齐

format() 方法允许你控制输出字符串的对齐和宽度。

高级技巧18:

numbers = [1, 12, 123]
formatted_numbers = " ".join("{:5d}".format(num) for num in numbers)
print(formatted_numbers)  # 输出:     1    12   123

19. 转义字符与原始字符串

在字符串中,\用于转义特殊字符。使用r前缀创建原始字符串,忽略转义。

高级技巧19:

path = r"C:\Users\Example\Documents"
print(path)  # 输出路径而不解释`\`为特殊字符

20. 字符串编码与解码

处理非ASCII字符时,了解字符串的编码至关重要。

高级技巧20:

utf8_string = "你好,世界!".encode('utf-8')
decoded_string = utf8_string.decode('utf-8')
print(decoded_string)  # 输出: 你好,世界!

实战案例分析:文本清洗

在数据分析或文本处理项目中,经常需要清洗文本,比如去除HTML标签。

import re

html_text = "<p>Hello, <strong>World!</strong></p>"
clean_text = re.sub(r'<[^>]*>', '', html_text)  # 去除HTML标签
print(clean_text)  # 输出: Hello, World!

分析与技巧:

  • 正则表达式模式 r'<[^>]*>' 匹配并替换掉所有HTML标签。方括号内的[^>]表示匹配除>之外的任何字符,*表示前面的元素可以重复任意次。

  • 注意:在处理实际网页数据时,更复杂的解析器如BeautifulSoup可能更适合,但在简单的文本处理或学习正则表达式时,这个方法非常实用。

通过这些高级应用和实战案例,你的Python字符串操作技能将更上一层楼。

好了,今天的分享就到这里了,我们下期见。如果本文对你有帮助,请动动你可爱的小手指点赞、转发、收藏吧!

文末福利

读者福利:对Python感兴趣的童鞋,为此我专门给大家准备好了Python全套的学习资料

​​

  Python所有方向的学习路线

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

图片​​​

视频教程

大信息时代,传统媒体远不如视频教程那么生动活泼,一份零基础到精通的全流程视频教程分享给大家

图片​​​

实战项目案例

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

图片​​​

图片​​​

副业兼职路线

​​​

Logo

开放原子开发者工作坊旨在鼓励更多人参与开源活动,与志同道合的开发者们相互交流开发经验、分享开发心得、获取前沿技术趋势。工作坊有多种形式的开发者活动,如meetup、训练营等,主打技术交流,干货满满,真诚地邀请各位开发者共同参与!

更多推荐