【自然语言处理】NLP入门(五):1、正则表达式与Python中的实现(5):字符串常用方法:对齐方式、大小写转换详解

一、前言

  本文将介绍字符串常用方法,包括:center()、ljust()、rjust();lower()、upper();capitalize()、title()、swapcase()等

二、正则表达式与Python中的实现

1.字符串构造

2. 字符串截取

【自然语言处理】NLP入门(一):1、正则表达式与Python中的实现(1):字符串构造、字符串截取

3. 字符串格式化输出

【自然语言处理】NLP入门(二):1、正则表达式与Python中的实现(2):字符串格式化输出(%、format()、f-string)

4.字符转义符

【自然语言处理】NLP入门(三):1、正则表达式与Python中的实现(3):字符转义符

5. 字符串常用函数

  在Python中有很多内置函数可以对字符串进行操作。如len()ord()chr()max()min()bin()oct()hex()等。
自然语言处理】NLP入门(四):1、正则表达式与Python中的实现(4):字符串常用函数

函数与方法之比较

  在Python中,函数(function)和方法(method)都是可调用的对象,但它们之间有一些区别:

  1. 函数(Function)
    • 函数是一段可重复使用的代码块,它可以接受输入参数,并且在执行完任务后返回一个结果。
    • 函数可以独立存在,不依赖于任何对象或类。
    • 在Python中,函数可以通过def关键字定义,并可以在任何地方调用。
def greet(name):
    return f"Hello, {name}!"

print(greet("Alice"))  # Output: Hello, Alice!
  1. 方法(Method)
    • 方法是与特定对象相关联的函数。它是在类定义中定义的函数,它可以访问对象的数据。
    • 方法需要通过对象来调用,并且在方法内部可以使用self关键字来访问对象的属性和其他方法。
    • 在Python中,方法是通过将函数绑定到类的属性来创建的,并且可以通过类的实例来调用。
class Dog:
    def __init__(self, name):
        self.name = name
    
    def bark(self):
        return f"{self.name} says Woof!"

my_dog = Dog("Buddy")
print(my_dog.bark())  # Output: Buddy says Woof!

在这里插入图片描述

  函数是独立的代码块,而方法是与类或对象相关联的函数。 方法依赖于类和对象的概念,而函数则是更一般的概念,不一定与特定的类或对象相关联。

6. 字符串常用方法

  由于字符串属于不可变序列类型,常用方法中涉及到返回字符串的都是新字符串,原有字符串对象不变。

1. 对齐方式

  Python提供了三种方法来对字符串进行对齐:center(), ljust()rjust()

  • 格式:

    • str.center(width[, fillchar])
    • str.ljust(width[, fillchar])
    • str.rjust(width[, fillchar])
  • 说明:

    • width: 指定字符串的宽度
    • fillchar: 填充字符,默认为空格
  • 功能:

    • 返回一个指定宽度的新字符串,原字符串在其中处于居中/左对齐/右对齐的位置。如果宽度大于原字符串长度,则使用 fillchar 进行填充。
center()

  str.center(width[, fillchar])方法返回一个新字符串,原字符串被置于新字符串的中央,两侧使用fillchar字符(默认为空格)进行填充,直到达到指定的width宽度。

# 原字符串长度小于width
print('Python'.center(10))    # ' Python '
print('Python'.center(10, '*'))  # '**Python**'

# 原字符串长度等于width
print('Python'.center(6))     # 'Python'

# 原字符串长度大于width
print('Python'.center(4))     # 'Python'

在这里插入图片描述

ljust()

  str.ljust(width[, fillchar])方法返回一个新字符串,原字符串位于新字符串的左侧,右侧使用fillchar字符(默认为空格)进行填充,直到达到指定的width宽度。

print('Python'.ljust(10))     # 'Python    '
print('Python'.ljust(10, '*'))  # 'Python****'
rjust()

  str.rjust(width[, fillchar])方法返回一个新字符串,原字符串位于新字符串的右侧,左侧使用fillchar字符(默认为空格)进行填充,直到达到指定的width宽度。

print('Python'.rjust(10))     # '    Python'
print('Python'.rjust(10, '*'))  # '****Python'

在这里插入图片描述

2. 大小写转换

  • 常用于解决不区分大小写的问题:
    • lower() 将字符串中的大写字母转换为小写字母,其他字符不变,并返回新字符串。
    • upper() 将字符串中的小写字母转换为大写字母,其他字符不变,并返回新字符串。
  • 进阶
    • capitalize() 将字符串的首字母转换为大写,其余字母转为小写,返回新字符串。
    • title() 将每个单词的首字母转为大写,其他字母转为小写,返回新字符串。
    • swapcase() 将字符串中的大小写字母互换,返回新字符串。
lower()

str.lower()方法返回一个新字符串,其中所有字符都被转换为小写。

print('PythON'.lower())     # 'python'
print('PYTHON123@#$'.lower())  # 'python123@#$'
upper()

str.upper()方法返回一个新字符串,其中所有字符都被转换为大写。

print('PythON'.upper())     # 'PYTHON'
print('python123@#$'.upper())  # 'PYTHON123@#$'
capitalize()

str.capitalize()方法返回一个新字符串,其中第一个字符被转换为大写,其余字符被转换为小写。

print('python'.capitalize())   # 'Python'
print('PYTHON'.capitalize())   # 'Python'
print('python 123'.capitalize())  # 'Python 123'
title()

str.title()方法返回一个新字符串,其中每个单词的首字母被转换为大写,其余字母被转换为小写。

print('python is a programming language'.title())  # 'Python Is A Programming Language'
print('ThIs iS A tEsT sTrInG'.title())  # 'This Is A Test String'
swapcase()

str.swapcase()方法返回一个新字符串,其中所有大写字符被转换为小写,所有小写字符被转换为大写。

print('Python IS AWESOME'.swapcase())  # 'pYTHON is awesome'
print('PyThoN123#$'.swapcase())        # 'pYtHOn123#$'

在这里插入图片描述

最近更新

  1. TCP协议是安全的吗?

    2024-03-11 14:04:01       18 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-03-11 14:04:01       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-03-11 14:04:01       19 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-03-11 14:04:01       20 阅读

热门阅读

  1. Android调用浏览器打开指定页面

    2024-03-11 14:04:01       27 阅读
  2. antd Tree拖拽位置说明

    2024-03-11 14:04:01       20 阅读
  3. C++基础语法和概念

    2024-03-11 14:04:01       22 阅读
  4. mysql 分组取前10条数据

    2024-03-11 14:04:01       19 阅读
  5. MySql的CURRENT_TIMESTAMP和ON UPDATE CURRENT_TIMESTAMP

    2024-03-11 14:04:01       24 阅读
  6. LeetCode 每日一题 2024/3/4-2024/3/10

    2024-03-11 14:04:01       17 阅读
  7. Python-OpenCV-边缘检测

    2024-03-11 14:04:01       22 阅读
  8. connection.query()和 connection.execute()

    2024-03-11 14:04:01       23 阅读
  9. Chromedriver安装新版本时需要先卸载旧版本么?

    2024-03-11 14:04:01       26 阅读
  10. 【Python】正则

    2024-03-11 14:04:01       23 阅读
  11. [蓝桥杯 2018 省 B] 递增三元组

    2024-03-11 14:04:01       25 阅读