ARTICLE DETAIL

资讯详情

深耕网站建设、视觉设计与SEO优化的一线实战洞察。

Python字符串方法

Python字符串方法

Python字符串方法不会修改原字符串,所有操作均返回新字符串。字符串作为不可变对象,任何方法调用都生成新副本而非原地修改。以下是核心方法分类详解,附可运行示例:


一、基础操作

1. 长度统计

  • len(s):返回字符串字符数(非字节数)。
    s = "Hello 世界" print(len(s)) # 输出:8(中文字符计为1个)

2. 字符串连接

  • +运算符:拼接字符串(频繁拼接时推荐用join()提升性能)。
    print("Hello" + " " + "World") # 输出:Hello World

3. 重复操作

  • *运算符:重复生成新字符串。
    print("Hi" * 3) # 输出:HiHiHi

二、大小写转换

1. 全部转大写

  • upper()所有字母转大写,非字母字符不变。
    print("Hello, 123".upper()) # 输出:HELLO, 123

2. 全部转小写

  • lower()所有字母转小写
    print("WORLD!".lower()) # 输出:world!

3. 首字母大写

  • capitalize()仅首字符大写,其余转小写。
    print("python IS awesome".capitalize()) # 输出:Python is awesome

4. 标题格式

  • title()每个单词首字母大写
    print("hello world".title()) # 输出:Hello World

三、查找与替换

1. 子串查找

  • find(sub):返回首次出现的索引,未找到返回-1(不报错)。

    print("apple".find("p")) # 输出:1 print("apple".find("z")) # 输出:-1
  • index(sub):功能同find(),但未找到时抛出ValueError

    # print("apple".index("z")) # 报错:ValueError

2. 子串计数

  • count(sub)统计子串出现次数
    print("banana".count("a")) # 输出:3

3. 子串替换

  • replace(old, new)替换所有匹配项,可指定替换次数。
    print("apple apple".replace("apple", "orange", 1)) # 输出:orange apple

四、去除空白与特殊字符

1. 两端去空

  • strip()移除首尾空白字符(空格、换行符等)。
    print(" text \n".strip()) # 输出:text

2. 左侧去空

  • lstrip():仅移除左侧空白。
    print(" text ".lstrip()) # 输出:text

3. 右侧去空

  • rstrip():仅移除右侧空白。
    print(" text ".rstrip()) # 输出: text

4. 自定义字符去除

  • strip(chars):移除首尾指定字符(按集合匹配,非顺序)。
    print("xx_hello_xx".strip("x_")) # 输出:hello

五、分割与连接

1. 分割为列表

  • split(sep)按分隔符拆分,返回列表(默认按空白分割)。
    print("a,b,c".split(",")) # 输出:['a', 'b', 'c']

2. 从右分割

  • rsplit(sep, maxsplit)从右侧开始分割,可限制分割次数。
    print("a-b-c-d".rsplit("-", 1)) # 输出:['a-b-c', 'd']

3. 列表转字符串

  • join(iterable)用字符串连接可迭代对象
    print("-".join(["a", "b", "c"])) # 输出:a-b-c

六、判断与检查

1. 开头/结尾检查

  • startswith(prefix)判断是否以指定字符串开头

    print("Hello.py".startswith("Hello")) # 输出:True
  • endswith(suffix)判断是否以指定字符串结尾

    print("Hello.py".endswith(".py")) # 输出:True

2. 字符类型检查

  • isalpha()是否全部为字母(不含空格/数字)。

    print("Hello".isalpha()) # 输出:True print("Hello123".isalpha()) # 输出:False
  • isdigit()是否全部为数字字符

    print("123".isdigit()) # 输出:True
  • isspace()是否全部为空白字符

    print(" \t\n".isspace()) # 输出:True

关键注意事项

  1. 不可变性:所有方法均不修改原字符串,必须用新变量接收结果。
  2. 大小写敏感find()replace()等默认区分大小写。
  3. 空字符串处理
    • split()默认按任意空白分割,连续空白视为一个分隔符。
    • "".split()返回空列表[],但"".split(" ")返回['']
  4. 高频方法推荐:日常开发中strip()split()join()replace()使用频率最高。

完整方法列表可参考官方文档:Python String Methods。实际编码中建议优先使用f-string 格式化(如f"Value: {x:.2f}")替代旧式%format()

返回列表